正则判断g模式下异常

正则g模式下出现true和false交替

  • 原因:正则表达式中的g模式, 使得搜索过程后, 如果匹配成功, 则记录上一次字符串的位置, 如果匹配不成功, 则会归零字符串位置.

  • 解决:

    • reg.lastIndex = 0; 归零搜索的位置
    • 去掉g模式
    • 直接调用正则
  • 在chrome-console中尝试下下面几段代码

    1
    const reg = /^a/g;
    reg.test('a');     //不断对此式进行取值
    2
    const reg = /^a/g;
    reg.lastIndex      // 此时console显示为1
    reg.lastIndex = 0; // 手动归0
    reg.test('a');     //不断对此式进行取值
    3.
    const reg = /^a/;
    reg.test('a');     //不断对此式进行取值
    4.
    /^a/g.test('a');   //不断对此式进行取值
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值