以下代码是在一段字符串中,用正则表达式找到数字,使用 replace() 方法,用找到的数字的两倍值替换原数字。replace() 方法的第二个参数为一个函数,返回找到数字的两倍值。
<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>
正则表达式 /\d+/g: 匹配至少一个数字。
调用函数时内部会生成 arguments,console.log(arguments); 的结果:
需要取得的是数字 2014 和 2015,所以只要取得 arguments[0] 即可。
console.log(arguments[0]); 的结果:
最终结果得到:" 去年是4028年,今年是4030年 "
查找数字后,也可以对数字进行其他操作