Java掩码的几种使用例举
2019-03-28 11:00
489 查看
java掩码
private static String nameMask(String name) throws Exception { if(name ==null)throw new Exception("请输入要掩码的字符串"); if(name.length()<=1) return name+"*"; return name.replaceAll("([\\u4e00-\\u9fa5]{1})(.*)", "$1"+createAsterisk(name.length()-1)); } private static String createAsterisk(int len) { StringBuffer sb = new StringBuffer(); for(int i=0;i<len;i++){ sb.append("*"); } return sb.toString(); }
/** * 对客户证件号码做掩码 * * */ public static String maskCertId(String certId) throws Exception { if(certId==null||certId.length()==0) return ""; if(certId.length()==18) { String v = certId.substring(0,4); String end = certId.substring(certId.length()-4); return v+StringUtils.repeat("*",8)+end; } else return ""; }
/** * 对客户姓名做掩码 * @throws JBOException * */ public static String maskUserName(String userName) throws Exception { if(userName==null||userName.length()==0) return ""; String v = userName.substring(0,1); return StringUtils.rightPad(v, userName.length(),"*");//StringUtils.rightPad方法做一个字符串右补齐 }
/** * 对字符串进行脱敏处理 * @param word 被脱敏的字符 * @param startLength 被保留的开始长度 0代表不保留 * @param endLength 被保留的结束长度 0代表不保留 * @param pad 填充字符 * */ public static String wordMask(String word,int startLength ,int endLength,String pad) { if(word==null) return StringUtils.leftPad("", startLength+endLength,pad); if(word.length()<=startLength+endLength) return StringUtils.leftPad("", startLength+endLength,pad); String startStr = ""; String endStr = ""; int padLength = 0; if(word.length()>startLength) startStr = StringUtils.substring(word, 0,startLength); if(word.length()>startLength+endLength) endStr = StringUtils.substring(word, word.length()-endLength); padLength = word.length()-startLength-endLength; return startStr + StringUtils.repeat(pad, padLength)+endStr; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:
相关文章推荐
- Java中有几种方法实现一个线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不提倡使用?
- java 中的gc的几种方式及各个方式使用的收集算法
- RabbitMQ的几种典型使用场景-java语言开发
- Java中使用代理访问网络的几种方法
- Java线程知识__其他几种线程同步的工具类的使用(CyclicBarrier,CountDownLatch,Exchanger)
- java中ArrayList使用remove删除元素时几种常见的问题及解决办法
- java常用的几种线程池使用
- JAVA中几种常见集合的使用实例
- Java中几种输出数组的for循环,以及循环中使用标签(非goto)
- JAVA 使用线程的几种方式
- java数据连接池的几种区别和使用
- 【Java】——几种注解的使用
- Java开发中经常使用到的几种WebService技术实现方案
- Java使用Executor执行Callable任务时的几种方法
- java项目开发实践经验之二:几种常见数据库连接池的使用比较
- 使用Java测试网络连通性的几种方法
- 使用Java测试网络连通性的几种方法
- JAVA中几种常见集合的使用实例
- java计时器Timer的几种使用方法
- 使用java排序的几种方式