最近工作中遇到一个验证密码格式的正则问题,密码格式要求如下:
密码为6-20位数字、字母或下划线,至少包括其中两种,以字母开头
然后自己写过几个,也在网上找过,都没完全符合该密码规则。后来将之前用过的几种规则进行各种综合、试错,终于找到了能验证该密码规则的正则。
废话不多说,上正则:
/^[a-zA-Z](?![a-zA-Z] $)w{5,19}$/
【密码为6-20位数字、字母或下划线,至少包括其中两种,以字母开头】正则规则图
下面是几种对于该正则的测试:
const passwordReg = /^[a-zA-Z](?![a-zA-Z] $)w{5,19}$/passwordReg.test(‘aaaaa1’) // truepasswordReg.test(‘aaaaa_’) // truepasswordReg.test(‘a111111’) // truepasswordReg.test(‘a_______’) // truepasswordReg.test(‘Aaaaa1’) // truepasswordReg.test(‘1aaaaa1’) // falsepasswordReg.test(‘_aaaaa1’) // falsepasswordReg.test(‘aaaaaa’) // falsepasswordReg.test(‘111111’) // falsepasswordReg.test(‘______’) // false
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)