javascript - JavaScript 中的正则表达式仅屏蔽字符串中的数字和特殊字符(/、空格、-)

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

使用上述正则表达式屏蔽了整个字符串。

最佳答案

您实际使用的 Regex 没有给出预期的结果,因为它匹配整个字符串,这就是整个字符串被屏蔽的原因。

这是你需要的:

var myregexp = /\d/g;

你只需要每次匹配\d并替换为*,你可以在这个工作Demo中看到它。

演示:

var str = "1234567890 expiry date is 1211";

var myregexp = /\d/g;

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

编辑:

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

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

关于javascript - JavaScript 中的正则表达式仅屏蔽字符串中的数字和特殊字符(/、空格、-),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544916/

相关文章:

javascript - 添加 onClick 事件到 zabuto 日历

python - 如何使用 Python 编码和解码字符串以用于 URL?

html - 用正则表达式替换每个 <p> 标记中的最后一个空格

c - 如何使 strcmp() 在我的 C 程序中工作

c - 如何在 C 中将字符串小写?

javascript - 如何使用 javascript 检查 URL 是否可用

javascript - Jasmine jQuery 循环单元测试

javascript - NodeJS : Redirect Client to Another Worker/Instance

regex - R ls 的倒置正则表达式模式

regex - Emacs:替换文件扩展名