Java掩碼的幾種使用例舉
java掩碼
private static String nameMask(String name) throws Exception { if(name ==null)throw new Exception("請(qǐng)輸入要掩碼的字符串"); 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(); }
/** * 對(duì)客戶證件號(hào)碼做掩碼 * * */ 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 ""; }
/** * 對(duì)客戶姓名做掩碼 * @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方法做一個(gè)字符串右補(bǔ)齊 }
/** * 對(duì)字符串進(jìn)行脫敏處理 * @param word 被脫敏的字符 * @param startLength 被保留的開(kāi)始長(zhǎng)度 0代表不保留 * @param endLength 被保留的結(jié)束長(zhǎng)度 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; }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- Java位掩碼控制權(quán)限與(&)或(|)非(~)、>的介紹
- 在spring boot中使用java線程池ExecutorService的講解
- java實(shí)現(xiàn)人工智能化屏幕監(jiān)控窗口
- Java基于servlet監(jiān)聽(tīng)器實(shí)現(xiàn)在線人數(shù)監(jiān)控功能的方法
- JAVA 文件監(jiān)控 WatchService的示例方法
- Java VisualVM監(jiān)控遠(yuǎn)程JVM(詳解)
- Java使用WatchService監(jiān)控文件內(nèi)容變化的示例
- java 使用線程監(jiān)控文件目錄變化的實(shí)現(xiàn)方法
- Java實(shí)時(shí)監(jiān)控日志文件并輸出的方法詳解
- Java實(shí)現(xiàn)實(shí)時(shí)監(jiān)控目錄下文件變化的方法
相關(guān)文章
SpringBoot實(shí)現(xiàn)整合微信支付方法詳解
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)整合微信支付的過(guò)程詳解,文中的示例代碼對(duì)我們的工作或?qū)W習(xí)有一定的幫助,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下2021-12-12使用ehcache三步搞定springboot緩存的方法示例
本次內(nèi)容主要介紹基于Ehcache 3.0來(lái)快速實(shí)現(xiàn)Spring Boot應(yīng)用程序的數(shù)據(jù)緩存功能。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04SpringCloud-Gateway轉(zhuǎn)發(fā)WebSocket失敗問(wèn)題及解決
這篇文章主要介紹了SpringCloud-Gateway轉(zhuǎn)發(fā)WebSocket失敗問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實(shí)URL的示例代碼
本篇文章主要介紹了Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實(shí)URL的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11在Spring Boot中實(shí)現(xiàn)HTTP緩存的方法
緩存是HTTP協(xié)議的一個(gè)強(qiáng)大功能,但由于某些原因,它主要用于靜態(tài)資源,如圖像,CSS樣式表或JavaScript文件。本文重點(diǎn)給大家介紹在Spring Boot中實(shí)現(xiàn)HTTP緩存的方法,感興趣的朋友跟隨小編一起看看吧2018-10-10解決IDEA target文件夾越來(lái)越大的問(wèn)題
這篇文章主要介紹了解決IDEA target文件夾越來(lái)越大的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02