使用正則表達式把手機號替換成星號*


出於安全考慮,我們有時需要將一個手機號的某幾位替換成*號,一般是手機號的第4-7位,如我們把手機號13813818979變成138****8979,有兩種方式

1. 在前台頁面處理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <script type="text/javascript">
        function test(phone) { phone = phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); return phone; } console.log('test', test('13813818979')); </script>
</head>
<body>
</body>
</html>

最終效果:

2. 在后台代碼中處理

/** * 將手機號碼第4位到第7位替換成* */
public class Test { public static void main(String [] args){ String tel = "13813818979"; // 括號表示組,被替換的部分$n表示第n組的內容
        tel = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); System.out.print(tel); } }

最終效果:

 

原理解析:

正則表達式中,替換字符串,括號的意思是分組,在replace()方法中,參數二中可以使用$n(n為數字)來依次引用模式串中用括號定義的字串。"(\d{3})\d{4}(\d{4})", "$1****$2"的這個意思就是用括號,分為(前3個數字)中間4個數字(最后4個數字)替換為(第一組數值,保持不變$1)(中間為*)(第二組數值,保持不變$2)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM