我有这个正则表达式
/^[a-zA-Z'-\d]+$/
我想更改它以验证至少有两个字符是alpha:
通过:
/ ^ [A-ZA-Z' - \ d] + $ /测试(' - \'&#39)
但我希望它失败,除非它是这样的:
/^[a-zA-Z'-\d]+$/.test('ab-\'')
答案 0 :(得分:0)
您可以使用
/^(?:[\d'-]*[a-zA-Z]){2}[a-zA-Z\d'-]*$/
请参阅regex demo
<强>详情:
^
- 字符串开头(?:[\d'-]*[a-zA-Z]){2}
- 2个序列:
[\d'-]*
- 0个数字字符,-
或'
[a-zA-Z]
- ASCII字母[a-zA-Z\d'-]*
- 0个字母数字字符,'
或-
$
- 字符串结束。使用不区分大小写的修饰符,可以缩短模式:
/^(?:[\d'-]*[a-z]){2}[a-z\d'-]*$/i