标记
<form ng-submit="doRegister(registerForm);" novalidate name="registerForm">
<input type="password" name="Password" ng-model="register.Password"
ng-pattern="/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/"/>
<span ng-show="registerForm.Password.$error.pattern" class="help-block">
min 1 lower char, 1 upper char, 1 digit and one special char
</span>
<button type="submit" ng-disabled="registerForm.$invalid" >
Submit
</button>
</form>
我正在测试密码强度,最小1个下角字符和1个上角字符和1个数字以及一个特殊字符
我正在测试此字符串:a1A@s.com //失败
我正在测试这个字符串: 12345aA! //传递
我做错了吗?
答案 0 :(得分:2)
它失败了,因为@
在最后一个前瞻中不属于你的角色类。您还可以将正则表达式简化为:
/^(?=.*[a-z])(?=.*[a-z])(?=.*[0-9])(?=.*[@!$#%]).{3,}$/