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

JS regex: replace all digits in string

本文关键字:数字 字符串 正则表达式 替换 JS      更新时间:2023-09-26

我需要替换所有数字。

我的函数只替换第一个数字。

var s = "04.07.2012";
alert(s.replace(new RegExp("[0-9]"), "X")); // returns "X4.07.2012"
                                            // should be XX.XX.XXXX"
您需要

将"global"标志添加到正则表达式中:

s.replace(new RegExp("[0-9]", "g"), "X")

或者,也许更漂亮,使用内置的文字正则表达式语法:

.replace(/[0-9]/g, "X")

使用

s.replace(/'d/g, "X")

这将替换所有出现的情况。g表示全局匹配,因此在第一次出现后不会停止匹配。

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

s.replace(new RegExp("''d", "g"), "X")

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

  1. 使用正则表达式文本

  2. 使用关键字正则表达式对象

使用正则表达式文本:

<script type="text/javascript">
var string = "my contact number is 9545554545. my age is 27.";
alert(string.replace(/'d+/g, "XXX"));
</script>

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

欲了解更多详情:

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

/g修饰符用于执行全局匹配(查找所有匹配项,而不是在第一个匹配项之后停止)

您可以使用'd表示数字,因为它比 [0-9]

JavaScript:

var s = "04.07.2012"; 
echo(s.replace(/'d/g, "X"));

输出:

XX.XX.XXXX

您忘了添加全局运算符。使用这个:

var s = "04.07.2012";
alert(s.replace(new RegExp("[0-9]","g"), "X"));