我需要替换所有数字.
我的功能只替换第一个数字.
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)
找到数字,然后用指定的字符串替换。它是通过两种方法实现的
使用正则表达式文字
使用关键字 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