问题描述
我正在检查我的验证表中是否重复了同一字符两次以上。
我已经尝试过该表达式([a-zA-Z0-9])\ 1 {2,},但是它不能正常工作,因为如果我添加aaA,它将找到字符串,并且不应该因为“ aaA”被允许。另外,它不会检查是否重复了特殊字符。
这是我应用代码的方式:
this.form = this.formBuilder.group(
{
newpassword: new FormControl(
'',Validators.compose([
Validators.required,CustomValidators.patternValidator(/[(\[a-zA-Z0-9\])\\1{2,}]/,{
hasRepeatedCharacters: true,}),])
),},{ validators: this.password }
);
有什么主意吗?
解决方法
使用以下正则表达式检测重复2次或更多次的任何字符:
(.)\1{2,}
同样也要捕获aaA
(无论大小写如何重复的字母),您都需要添加不区分大小写的i
标志。
如果我正确理解了您认为无效的内容,则需要这样做:
/(.)\1{2,}/