• Java原生隐藏字符-工具类


    package com.seesun2012.common.util;

    /**

    • 隐藏字符-工具类
    • @author seesun2012@163.com

    */
    public class HiddenChartUtil {

    /**
     * 加密银行卡号,返回值如:6228 48** **** ***8 888
     *
     * @param str			原始字符串
     * @param startIndex	开始位置(显示)
     * @param endIndex		结束位置(显示)
     * @param n				每n个字符隔开
     * @param encryptionStr	指定加密字符,如"*"	--米字符号
     * @param repStr		添加分隔的符号,如:“ ” -- 空格
     * @return
     */
    public static String replaceCardId(String str, Integer startIndex, Integer endIndex, Integer n, String encryptionStr, String repStr){
    	return spaceReplace(hiddenStr(str, startIndex, endIndex, encryptionStr), n, repStr);
    }
    
    
    /**
     * 每间隔n个字符插入特定字符,默认如:6228 4888 8888 8888 888 ...
     *
     * @param str		原始字符
     * @param n			每n个字符隔开
     * @param repStr	添加分隔的符号,如:“ ” -- 空格
     * @return
     */
    public static String spaceReplace(String str, Integer n, String repStr){
    	if (n <= 0){
    		n = 4;
    	}
    	if (null == repStr){
    		repStr = "";
    	}
    	String newStr = "";
    	char[] bankArray = str.toCharArray();
    	for(int i=0;i<bankArray.length;i++){
    	    if(i%n==0 && i>0){
    	    	newStr += repStr;
    	    }
    	    newStr += bankArray[i];
    	}
    	return newStr;
    }
    
    
    /**
     * 隐藏指定间隔字符,默认如:622848************8888
     *
     * @param str			原始字符串
     * @param startIndex	开始位置
     * @param endIndex		结束位置
     * @param encryptionStr	指定加密字符
     * @return
     */
    public static String hiddenStr(String str, Integer startIndex, Integer endIndex, String encryptionStr){
    	if (str.length()<=1) {
    		return str;
    	}
    	if (null == encryptionStr){
    		encryptionStr = "*";
    	}
    	String xxStr = "";
    	String lenStr = str.trim().substring(startIndex, str.length()-endIndex);
    	for (int i = 0, len = lenStr.length(); i < len; i++) {
    		xxStr += encryptionStr;
    	}
    	xxStr = str.replaceFirst(lenStr, xxStr);
    	return xxStr;
    }
    

    }

  • 相关阅读:
    UIImageView
    正则表达式
    控制器生命周期和 UIView
    Storyboard
    1218.2——property关键字
    1218.1——OC中的常见关键字及一些基本方法
    1217.2——定义一个类+方法声明调用
    1217.1——OC准备
    1216.2——文件操作
    1216.1——双链表
  • 原文地址:https://www.cnblogs.com/seesun2012/p/9214630.html
Copyright © 2020-2023  润新知