我想验证用户输入的密码是否符合以下条件:
密码长度至少为 8 个字符,并应包含一个数字、一个字符和一个特殊字符。
为此,我使用了以下正则表达式:
^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
我在我的 angularjs 代码中尝试了这个表达式,如下所示:
<md-input-container class="md-block" style="margin-top:0px;">
<label>Password</label> <md-icon
md-svg-src="/images/icons/ic_lock_black_24px.svg" class="name"></md-icon>
<input type="password" ng-model="newUser.userPassword"
name="userPassword" required
ng-pattern="^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$">
<div
ng-messages="registerForm.userPassword.$error">
<div ng-message="pattern">Password should be atleast 8 characters long
and should contain one number,one character and one special
character</div>
<div ng-message="required">Password should be atleast 8 characters
long and should contain one number,one character and one special
character</div>
</div>
</md-input-container>
在我上面的代码中,当密码字段为空白且焦点丢失时,将显示错误消息。如果用户输入的密码不满足我提到的标准,则不会显示错误消息。
我应该如何解决这个问题?有人请帮助我。