【发布时间】:2018-06-29 05:59:48
【问题描述】:
我需要验证密码输入表单域的强度。要求是:
- 至少一个小写字符
- 至少一个大写字符
- 至少一个数字
(不分先后)
到目前为止我搜索和尝试的内容如下,结果不一致。
似乎验证了正则表达式验证的顺序。
我需要的是检查是否存在至少一种 char “类型”。
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'signup',
templateUrl: './signup.component.html',
styleUrls: ['./signup.component.scss']
})
export class SignupComponent {
form: FormGroup;
constructor() {
this.init();
}
init() {
this.form = this.fb.group({
name: ['', [Validators.required]],
email: ['', [Validators.required, Validators.email],
password: ['', [
Validators.required,
Validators.pattern('((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,30})')
]]
});
}
}
【问题讨论】:
-
\必须加倍。(?=.*\d)->(?=.*\\d) -
@WiktorStribiżew 您应该将此作为答案发布,以便 OP 可以选择它作为此问题的答案
-
@Sytham Done.
-
如果您有时间,请考虑接受最适合您的答案。
标签: regex angular validation