更改正则表达式以验证至少有2个字符是alpha

时间:2017-07-14 15:47:11

标签: javascript regex

我有这个正则表达式

/^[a-zA-Z'-\d]+$/

我想更改它以验证至少有两个字符是alpha:

通过:

/ ^ [A-ZA-Z' - \ d] + $ /测试(' - \'&#39)

但我希望它失败,除非它是这样的:

/^[a-zA-Z'-\d]+$/.test('ab-\'')

1 个答案:

答案 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