JS正则表达式:替换字符串中的所有数字

Kei*_* L. 32 javascript regex

我需要替换所有数字.

我的功能只替换第一个数字.

var s = "04.07.2012";
alert(s.replace(new RegExp("[0-9]"), "X")); // returns "X4.07.2012"
                                            // should be XX.XX.XXXX"
Run Code Online (Sandbox Code Playgroud)

Gus*_*ors 66

您需要在正则表达式中添加"全局"标志:

s.replace(new RegExp("[0-9]", "g"), "X")
Run Code Online (Sandbox Code Playgroud)

或者,可能更漂亮,使用内置的文字regexp语法:

.replace(/[0-9]/g, "X")
Run Code Online (Sandbox Code Playgroud)


Joe*_*oey 10

使用

s.replace(/\d/g, "X")
Run Code Online (Sandbox Code Playgroud)

这将取代所有出现.该g方法全局匹配,因此不会停止第一次出现后匹配.

或者继续使用RegExp构造函数:

s.replace(new RegExp("\\d", "g"), "X")
Run Code Online (Sandbox Code Playgroud)


Moh*_*sik 5

找到数字,然后用指定的字符串替换。它是通过两种方法实现的

  1. 使用正则表达式文字

  2. 使用关键字 RegExp 对象

使用正则表达式文字:

<script type="text/javascript">

var string = "my contact number is 9545554545. my age is 27.";
alert(string.replace(/\d+/g, "XXX"));

</script>
Run Code Online (Sandbox Code Playgroud)

**输出:**我的联系电话是XXX。我的年龄是 XXX。

更多细节:

http://www.infinetsoft.com/Post/How-to-replace-number-with-string-in-JavaScript/1156