2017-04-19 26 views
-2

如果你显示任何用户的手机在您的网站上显示手机,但根据安全原因,您不显示手机号码9305070207只显示93 ***** 207。 试试这个正则表达式 - :为安全原因隐藏用户手机号码的一些数字

var str="9305070207"; 
     var str1="9305070207"; 
     var formetNum = str.replace(/\d{8}$/,'')+str1.replace(/^\d{7}/,'*****'); 
     document.write(formetNum); 

如果这个过程没有更好的办法,请告诉我。我提高我的知识

+0

这看起来有点奇怪。您遇到的代码有什么问题? “更好的方式”有什么不同? – jochen

回答

1

你可以得到的前两个数字,直到三个字符的都留下来替换所有数字。

它适用于任何长度的字符串。

var string = '9305070207', 
 
    replaced= string.slice(0, 2) + string.slice(2).replace(/.(?=...)/g, '*'); 
 

 
console.log(replaced);

2

var str="9305070207"; 
 
    var str1="9305070207"; 
 
    var formetNum = str.replace(/\d{8}$/,'')+str1.replace(/^\d{7}/,'*****'); 
 
    document.write(formetNum);

+0

是什么问题? – itsundefined

+0

对于短/不完整的问题,我很抱歉。我完成我的问题和答案,谢谢你的评论。 –