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

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

语法:regexp.test(str) 

在全局匹配模式下

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

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

重置lastIndex为0

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

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

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

更多推荐

正则表达式中test()方法