JavaScript 正则表达式:字符串中查找数字

以下代码是在一段字符串中,用正则表达式找到数字,使用 replace() 方法,用找到的数字的两倍值替换原数字。replace() 方法的第二个参数为一个函数,返回找到数字的两倍值。

JavaScript 正则表达式:字符串中查找数字
<script>

var str="去年是2014年,今年是2015年";

var newStr=str.replace(/\d+/g, function () {

//调用方法时内部会产生 this 和 arguments
console.log(arguments[0]);

//查找数字后,可以对数字进行其他操作
return arguments[0] * 2;
});

console.log(newStr);

</script>
JavaScript 正则表达式:字符串中查找数字

正则表达式  /\d+/g: 匹配至少一个数字。

调用函数时内部会生成 arguments,console.log(arguments); 的结果:

JavaScript 正则表达式:字符串中查找数字

需要取得的是数字 2014 和 2015,所以只要取得 arguments[0] 即可。

console.log(arguments[0]); 的结果:

JavaScript 正则表达式:字符串中查找数字

最终结果得到:" 去年是4028年,今年是4030年 "

查找数字后,也可以对数字进行其他操作

上一篇:"Could not load file or assembly 'DTcms.Web.UI' or one of its dependencies. 拒绝访问。" 的解决办法


下一篇:使用Java正则表达式提取字符串中的数字一例