正则表达式中test()方法

test() 方法是正则表达式的一个方法,用于检测一个字符串是否匹配某个模式. test 方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true

test() 方法是正则表达式的一个方法,用于检测一个字符串是否匹配某个模式.
test 方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true,否则就返回 false。

每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置.

语法:regexp.test(str) 

在这里插入图片描述

在全局匹配模式下

对于同一个正则对象重复调用就会出现下一次的匹配位置从上一次匹配结束的位置开始,解决方法重置lastIndex为0

let reg = /^[\d]{2}$/g;let str = "12";console.log(reg.test(str));     //返回truelet = "123";console.log(reg.test(str));     //从数字3开始匹配,只有一个数字,故返回false

重置lastIndex为0

 let reg = /^[\d]{2}$/g;let str = "12";console.log(reg.test(str));     //返回truelet = "123";reg.lastIndex = 0;console.log(reg.test(str));     //返回true

在非全局匹配模式下,则不存在这个问题

let reg = /^[\d]{2}$/;let str = "12";console.log(reg.test(str));     //返回truelet = "123";console.log(reg.test(str));     //返回true