正则表达式第一次为true第二次为false的原因
test()
exec()
会从 lastIndex 位置开始检索
两种方案:
- 不使用 g
- 重置 lastIndex
const pattern = /^\d+$/
function validateNumber(value) {
const result = pattern.test(value)
console.log(pattern .lastIndex)
pattern.lastIndex = 0
return result
}