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

标签 javascript regex

谁能告诉我可以在现有的正则表达式中添加什么,以使 4 个或更多连续的相同字母无效?这是我到目前为止所拥有的:

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

到目前为止,它满足了我的除 1 项要求之外的所有要求:

  • 任何字母字符
  • 单个空格但不是第一个或最后一个字符
  • 连字符但不是第一个或最后一个字符
  • 单引号但不作为第一个或最后一个字符
  • 相同的连续字符不得超过 3 个,无论大小写
  • 至少 2 个字符长(如果存在)

一些例子:

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

最佳答案

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

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

RegEx Demo

有 2 个前瞻:

  • (?=.{2}) - 正向前瞻,确保输入中至少有 2 个字符
  • (?!.*([a-z])\1{3}) 负向前视以确保我们不允许字母表出现 4 次重复。

关于javascript - 4个或更多相同的连续字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44693510/

相关文章:

javascript - 错误: StatusCodeError: 413 - {"error": {"code":413 ,"message" :"request entity too large"}}

Javascript 和多个选择值

regex - 有没有办法测试我的正则表达式是否容易受到灾难性回溯的影响?

javascript - 如何在两个字符串之间选择文本javascript?

java - 在 Java 中通过正则表达式从字符串中删除不需要的字符

php - Str_Replace 问题

javascript - 多次点击div不会刷新: Only refreshes once

javascript - 如何在 SVG 中沿整个 textPath 扩展文本

java - 正则表达式匹配字符串并排除其他所有内容,直到出现新行

javascript - Console.log() 在 Q 中打印 Promise 对象的状态和值