标签: regex angular
我正在验证密码字段以检查是否包含至少4个字母字符。正如我所使用的正则表达式:
[a-zA-Z]{4,}
问题是如果所有4个字母字符都是连续的,则上述正则表达式有效。
输入:
ab1cde
预期产出:
true
高于正则表达式的实际输出:null
null
答案 0 :(得分:1)
您也应该包含非字母字符:
^(?:[^a-zA-Z]*[a-zA-Z]){4}
请参阅live demo here
答案 1 :(得分:0)
你可以在这里使用前瞻
^(?=(?:.*[A-Za-z]){4})
regex demo
Lookahead的宽度为零。因此它不会消耗任何字符串,即检查位置不会改变。