1. 首页
  2. 课程学习
  3. 3G/移动开发
  4. 解决js相同的正则多次调用test()返回的值却不同的问题

解决js相同的正则多次调用test()返回的值却不同的问题

上传者: 2020-12-13 11:29:11上传 PDF文件 29.59KB 热度 12次
代码是这样的: var reg = /^1[345678][0-9]{9}$/g; console.log(reg.test(15328044636)); console.log(reg.test(15328044636)); 会发现控制台打印的数据却是: true false 问题原因 这是因为正则reg的g属性,设置的全局匹配。RegExp有一个lastIndex属性,来保存索引开始位置。 上面的问题,第一次调用的lastIndex值为0,到了第二次调用,值变成了11。 var reg = /^1[345678][0-9]{9}$/g; console.log(reg.lastInd
下载地址
用户评论