美文网首页
js正则表达式中test,exec,match方法的区别说明

js正则表达式中test,exec,match方法的区别说明

作者: 努力与幸运 | 来源:发表于2020-12-10 10:30 被阅读0次

test
test返回boolean,查找对应的字符串中是否存在模式

const phoneReg = /^[1][0-9]{10}$/;
 if (!phoneReg.test(value)) {
  return callback(new Error('请输入符合规范的手机号码'));
}

exec
exec 查找并返回当前的匹配结果,并以数组的形式返回。

var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);

如果不存在模式,则arr为null,否则arr总是一个长度为1的数组,其值就是当前匹配项。arr还有三个属性:index为当前匹配项的位置;lastIndex当前匹配项结束的位置(index+档案匹配项的长度);input就是实例中的str。
exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。

match
match 是 String 对象的一个方法。
match有点像exec,但是exec是RegExp对象的方法;match是string对象的方法。
如果指定了参数 g,那么 match 一次返回所有的结果。

相关文章

网友评论

      本文标题:js正则表达式中test,exec,match方法的区别说明

      本文链接:https://www.haomeiwen.com/subject/riylgktx.html