JavaScript 正则表达式帮助

发布于 2024-09-18 16:21:08 字数 93 浏览 1 评论 0原文

有人可以帮助我使用正则表达式模式验证以下规则

最大长度:15
最小长度:6
最小字符数:1
最小数量:1
后续重复字符数:2

Can someone help me to validate the following rules using a RegEx pattern

Max length : 15
Minimum length : 6
Minimum character count : 1
Minimum numbers count : 1
Consequent repeated character count : 2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

飘过的浮云 2024-09-25 16:21:08
^                   # start of string
(?=.{6,15}$)        # assert length
(?=.*[A-Za-z])      # assert letter
(?=.*[0-9])         # assert digit
(?:(.)(?!\1\1))*    # assert no more than 2 consecutive characters
$                   # end of string

会这样做。但这在 JavaScript 中看起来不太好(或易于维护):

if (/^(?=.{6,15}$)(?=.*[A-Za-z])(?=.*[0-9])(?:(.)(?!\1\1))*$/.test(subject)) {
    // Successful match
} else {
    // Match attempt failed
}
^                   # start of string
(?=.{6,15}$)        # assert length
(?=.*[A-Za-z])      # assert letter
(?=.*[0-9])         # assert digit
(?:(.)(?!\1\1))*    # assert no more than 2 consecutive characters
$                   # end of string

will do this. But this won't look nice (or easily maintainable) in JavaScript:

if (/^(?=.{6,15}$)(?=.*[A-Za-z])(?=.*[0-9])(?:(.)(?!\1\1))*$/.test(subject)) {
    // Successful match
} else {
    // Match attempt failed
}
り繁华旳梦境 2024-09-25 16:21:08

我建议您使用一些不同的正则表达式模式来检查所有这些规则,因为它要么是不可能的,要么非常复杂。

  • .length 检查第
  • 3 条规则的前 2 条规则 [az](不区分大小写选项)
  • \d 表示第 4 条规则
  • (.)\1{2,} 对于第五条规则,如果这条规则匹配,则字符串包含 3 个以上的字符重复

I suggest you use a few different regex patterns to check for all those rules cause it will either be impossible or very complicated.

  • .length to check the first 2 rules
  • [a-z] (with case insensitive option) for the 3rd rule
  • \d for the 4th rule
  • (.)\1{2,} for the 5th rule, if this one matches the string contains 3+ character repetitions
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文