// 负整数
re = /^-[0-9]+$/g
console.log('负整数')
console.log('-1 test: true ', re.test(-1)) // true
console.log('-2 test: true ', re.test(-2)) // false
第二行输出为:true
第三行输出为:false
为什么?
// 负整数
re = /^-[0-9]+$/g
console.log('负整数')
console.log('-1 test: true ', re.test(-1)) // true
console.log('-2 test: true ', re.test(-2)) // false
第二行输出为:true
第三行输出为:false
为什么?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
把正则里面的
g
去掉。用
g
的时候,正则时内部是有一个lastIndex来记录最后匹配的位置。当重复调用的时候,会接着上次的lastIndex继续匹配,故而将导致判断出错。