我想在我的密码字段上创建一些自定义验证器,以检查用户何时输入密码。这些验证器之一是小写验证器。
这是自定义验证程序我的代码,
lowerCaseValidator(control: FormControl): { [key: string]: boolean } | null {
if (control.value === '?=.*[a-z]') {
return {'lowerCase': true};
}
console.log(control.value);
return null;
但是它不起作用!
答案 0 :(得分:1)
这是一个基于正则表达式的自定义验证器,请检查值是否继续以字母形式表示 小写
export function lowercaseValidator(c: FormControl) {
let regex = /[a-z]/g
if (regex.test(c.value)) {
return null;
} else {
return { lowercase: true }
}
}
答案 1 :(得分:0)
下面是使用至少一个大写,一个小写和一个数字强制使用8个字符的正则表达式。
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$
答案 2 :(得分:0)
Angular已建立regex validator。您可以使用它
答案 3 :(得分:0)
如果要确保用户输入不同的大小写(包括大写和小写)作为密码,因此您假设只有小写字母是错误的,则可以这样做:
import { FormControl } from '@angular/forms';
export function lowerCaseValidator(control: FormControl): { [key: string]:
boolean } | null {
const value: string = control.value;
if (value && value === value.toLowerCase()) {
return {lowerCase: true};
} else {
return null;
}
}
您可以在此处找到一个有效的示例:https://angular-ekb1wt.stackblitz.io
如果要确保用户仅输入小写字母,并且没有数字,符号或其他任何东西,那么您将需要RegEx,就像其他人已经提到的那样。