我必须编写一条正则表达式,它将在字符串中掩盖所有数字。
eg:
Input: 1234567890 expiry date is 1211
Output: ********* expiry date is ****
或
Input: 1211 and number is 1234567890</p>
Output: **** and number is *********
我正在使用:
var myregexp = /^(?:D*d){3,30}D*$/g;<br/><br/>
整个字符串正在使用上述正则掩饰。
您实际使用的正则是预期的结果,因为它与整个字符串匹配,这就是为什么整个字符串被掩盖。
这是您需要的:
var myregexp = /d/g;
您只需要每次匹配d
并将其替换为*
,您可以在此工作演示中看到它。
演示:
var str = "1234567890 expiry date is 1211";
var myregexp = /d/g;
console.log(str.replace(/d/g, "*"));
编辑:
如果您想匹配白色空间和特殊字符,例如_
和.
,则可以使用以下正则是:
var myregexp = /[d._s]/g;