【问题标题】:regex - minimum of 6 characters including 2 special characters [duplicate]正则表达式 - 至少 6 个字符,包括 2 个特殊字符 [重复]
【发布时间】:2019-07-10 08:49:57
【问题描述】:

我对正则表达式不太满意。我希望密码至少有 6 个字符,包括 2 个特殊字符

我尝试了第一个正则表达式,但每次都返回 false...

console.log(/^[a-zA-Z0-9!$#%]+$/.test(this.form.password));

我可以用另一种方式测试字符数,但我想通过正则表达式包含两个特殊字符。

非常感谢您的帮助

【问题讨论】:

标签: javascript regex


【解决方案1】:

首先前瞻 6 个字符,以确保输入中存在足够的字符。然后,重复两次:0个或多个普通字符,后跟一个特殊字符,确保输入中至少有2个特殊字符。然后匹配 0 个或多个 [特殊或普通] 字符。

/^(?=.{6})(?:[a-z\d]*[!$#%]){2}[a-z\d!$#%]*$/i

https://regex101.com/r/ZyFZPm/2

  • ^ - 字符串开始
  • (?=.{6}) - 至少 6 个字符
  • (?:[a-z\d]*[!$#%]){2} - 重复两次:
    • [a-z\d]* - 0+ 个字母数字字符
    • [!$#%] - 1 个特殊字符
  • [a-z\d!$#%]* - 匹配特殊字符和字母数字字符,直到字符串的末尾
  • $ - 字符串结束

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多