String的一部分替换为星号“*”
2016-03-07 18:07
309 查看
项目中有一些地方需要做到保密的效果:
用户名一部分需要替换为*来达到保密效果;
银行卡号一部分需要替换为 *
身份证号一部分需要替换为 *
把这个工具类分享出来
用户名一部分需要替换为*来达到保密效果;
银行卡号一部分需要替换为 *
身份证号一部分需要替换为 *
把这个工具类分享出来
package com.Util; /** * File Description : String的替换,以达到保密效果 * * @author : zhanggeng * @version : v1.0 * **************修订历史************* * @email : zhanggengdyx@gmail.com * @date : 16/2/16 11:38 */ public class StringReplaceUtil { /** * 根据用户名的不同长度,来进行替换 ,达到保密效果 * * @param userName 用户名 * @return 替换后的用户名 */ public static String userNameReplaceWithStar(String userName) { String userNameAfterReplaced = ""; if (userName == null){ userName = ""; } int nameLength = userName.length(); if (nameLength <= 1) { userNameAfterReplaced = "*"; } else if (nameLength == 2) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{0})\\d(?=\\d{1})"); } else if (nameLength >= 3 && nameLength <= 6) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{1})\\d(?=\\d{1})"); } else if (nameLength == 7) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{1})\\d(?=\\d{2})"); } else if (nameLength == 8) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{2})\\d(?=\\d{2})"); } else if (nameLength == 9) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{2})\\d(?=\\d{3})"); } else if (nameLength == 10) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{3})\\d(?=\\d{3})"); } else if (nameLength >= 11) { userNameAfterReplaced = replaceAction(userName, "(?<=\\d{3})\\d(?=\\d{4})"); } return userNameAfterReplaced; } /** * 实际替换动作 * * @param username username * @param regular 正则 * @return */ private static String replaceAction(String username, String regular) { return username.replaceAll(regular, ""); } /** * 身份证号替换,保留前四位和后四位 * * 如果身份证号为空 或者 null ,返回null ;否则,返回替换后的字符串; * * @param idCard 身份证号 * @return */ public static String idCardReplaceWithStar(String idCard) { if (idCard.isEmpty() || idCard == null) { return null; } else { return replaceAction(idCard, "(?<=\\d{4})\\d(?=\\d{4})"); } } /** * 银行卡替换,保留后四位 * * 如果银行卡号为空 或者 null ,返回null ;否则,返回替换后的字符串; * * @param bankCard 银行卡号 * @return */ public static String bankCardReplaceWithStar(String bankCard) { if (bankCard.isEmpty() || bankCard == null) { return null; } else { return replaceAction(bankCard, "(?<=\\d{0})\\d(?=\\d{4})"); } } }
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- PostgreSQL ERROR: invalid escape string 解决办法
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- JavaScript中字符串(string)转json的2种方法
- C#中string用法实例详解
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- Javascript实现Array和String互转换的方法