4个或更多相同的连续字母

时间:2017-06-22 07:58:42

标签: javascript regex

任何人都可以告诉我我可以添加到现有的RegEx表达式中,以便连续4个或更多相同的字母无效吗?这就是我到目前为止所做的:

(^[A-Za-z]{1})([A-Za-z\-\'\s]{0,})([A-Za-z]{1}$)

到目前为止,它满足了我的所有要求之一:

  • 任何字母字符
  • 单个空格但不是第一个或最后一个字符
  • 连字符,但不是第一个或最后一个字符
  • 单引号,但不是第一个或最后一个字符
  • 不超过3个连续字符相同,无论情况如何
  • 至少2个字符(如果有)

一些例子:

James        - valid  
Sarah Jayne  - valid  
Michellle    - valid  
O'Brian      - valid  
Holly-Rose   - valid  
Eeeeric      - invalid  
Jo--anne     - invalid

1 个答案:

答案 0 :(得分:1)

根据您的说明,编辑和评论,您可以在Javascript中使用此正则表达式:

/^(?=.{2})(?!.*([a-z])\1{3})[a-z]+(?:[' -][a-z]+)*$/gmi

RegEx Demo

有两个前瞻:

  • (?=.{2}) - 确保输入中至少有2个字符的正面预测
  • (?!.*([a-z])\1{3})否定前瞻以确保我们不允许重复使用4个字母。