JavaScript中的RegEx仅屏蔽字符串中的数字和特殊字符(/,空格, - )

时间:2017-04-21 14:12:01

标签: javascript regex string

我必须编写一个正则表达式,它将掩盖字符串中的所有数字。

例如:

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/>

使用上面的正则表达式掩盖整个字符串。

1 个答案:

答案 0 :(得分:4)

您实际使用的正则表达式并未给出预期结果,因为它与整个字符串匹配,这就是为什么整个字符串被屏蔽

这就是你需要的:

var myregexp = /\d/g;

您每次只需要匹配\d并将其替换为*,您可以在此工作演示中看到它。

<强>演示:

&#13;
&#13;
var str = "1234567890 expiry date is 1211";

var myregexp = /\d/g;

console.log(str.replace(/\d/g, "*"));
&#13;
&#13;
&#13;

修改

如果您想匹配空格和特殊字符,例如_.,您可以使用以下正则表达式:

var myregexp = /[\d\._\s]/g;