正则表达式两次test不一致

概述

今天项目中遇到了一个奇怪的问题,自己记录一下,需求是首次登陆的用户需要修改密码,需要输入新密码两次
问题就出在这里了,因为写了两个input框,同时还需要校验密码强度,这时候正则校验
var regLow = new RegExp("(?=.{6,}).*",'g');
//密码强度为低的正则,这时候用一个正则校验两次 两次结果不一致

示例:

var reg = /abc/g
var a = 'abc'
var b = 'abc'
console.log(reg.test(a)) //true
console.log(reg.test(b)) //false
//正如看到的现象,两个输入的一直,同样用的一个正则,为什么输出结果却不同呢

解决方法:把g去掉(g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值