查询时隐藏部分身份证号

Mysql:

select REPLACE(idcard, SUBSTR(mobile,4,12), '************') idcard from sys_users 

select insert(idcard,4, 12, '*************') idcard from sys_users ;
java代码:

1、身份证可能是18为或者15位

if (newTBProjectCorpInfo.getPersonidcard().length() == 18) {
            newTBProjectCorpInfo.setPersonidcard(newTBProjectCorpInfo.getPersonidcard().replaceAll("(\\d{4})\\d{10}(\\d{4})", "$1****$2"));
        } else if (newTBProjectCorpInfo.getPersonidcard().length() == 15) {
            newTBProjectCorpInfo.setPersonidcard(newTBProjectCorpInfo.getPersonidcard().replaceAll("(\\d{4})\\d{8}(\\d{4})", "$1****$2"));
        }

2、我喜欢用这个

newTBProjectCorpInfo.setPersonidcard(newTBProjectCorpInfo.getPersonidcard().replaceAll("(\\w{4})\\w{0,}(\\w{4})", "$1****$2"));

有时候需要处理的可能是身份证,军官证,护照,台湾居民身份证,香港永久性居民身份证等数据,直接隐藏中间部分。

身份证

军官证

护照

台湾居民身份证

香港永久性居民身份证

警官证

其他

发布了39 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_40155654/article/details/90699261
今日推荐