我需要检查用户输入密码,如果它包含一个字母以使其更强。如果密码仅包含数字或字母,则应提示密码较弱且表单无效。这是我的代码。
ngOnInit(){
this.registrationForm = this._formBuilder.group({
password: ['', [Validators.required, Validators.minLength(8)]]
});
}
html代码
<div class="form-group">
<label for="password" class="cols-sm-2 control-label">Password</label>
<div class="cols-sm-10">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
<input type="password" [(ngModel)]="user.password" class="form-control" name="password" id="password" placeholder="Enter your Password" formControlName="password"/>
</div>
<span *ngIf="registrationForm.controls.password.hasError('required') && registrationForm.get('password').touched" class="alert alert-danger">Password is required</span>
<span *ngIf="registrationForm.controls.password.hasError('minlength') && registrationForm.get('password').touched" class="alert alert-danger">Password should consist of 8 characters</span>
</div>
</div>
编辑:如果用户输入包含字母和数字,如何检查用户输入,如果只包含数字或仅包含字母,则返回弱密码?
答案 0 :(得分:0)
我使用正则表达式解决了我的问题。
var settings = new JsonSerializerSettings()
{
TypeNameHandling = TypeNameHandling.All
};
这将检查密码是否包含至少一个字母或数字。然后在我的html中添加验证。
passwordRegex = /^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$/;