replace()第一个参数是正则表达式第二个是函数用法

快乐打工仔 分类:实例代码

本章节通过代码实例简单介绍一下replace()方法,当第一个参数是正则表达式,第二个参数是函数的时候的用法。

关于replace()方法的基本用法可以参阅javascript replace()一章节。

先看一段代码实例:

var string = "abc123-ii";
var str=string.replace(/(\d)-([\da-z])/g,function(str1,str2,str3,str4,str5){
  console.log(str1);
  console.log(str2);
  console.log(str3);
  console.log(str4);
  console.log(str5);
  return "I";
})
console.log(str)

下面就对上面的代码做一下分析。

(1).前面的正则表达式匹配几次,那么就会执行几次参数函数。

(2).每执行一次匹配类似于执行一次match()方法(我们可以认为这里执行非全局匹配),那么参数函数的第一个参数就是匹配的内容,第二个参数就是第一个字表达式匹配的内容,依次类推,然后是开始匹配的位置,然后就是整个字符串,也就是说将match()方法匹配返回的数组值依次作为参数传递给参数函数。

看match()方法代码演示:

var string = "abc123-ii";
console.log(string.match(/(\d)-([\da-z])/));

如果想要更为全面的了解此函数的用法可以参阅javascript的replace()第二个参数为函数时的参数一章节。

回复

我来回复
  • 暂无回复内容