gpt4 book ai didi

javascript - 密码中允许使用多个特殊字符

转载 作者:行者123 更新时间:2023-12-02 19:04:22 25 4
gpt4 key购买 nike

我有正则表达式来测试以下规则,

  1. 密码必须至少包含一个字符。
  2. 密码必须至少包含一个数字。
  3. 密码必须至少包含一个字母数字字符。(应允许超过一个)

我的尝试是这样的,

/^([a-zA-Z+]+[0-9+]+[!@#$%^&*])$/

这在大多数情况下都可以正常工作,除非我添加多个字母数字字符。

测试

  • 测试 [qwer1234] 结果 [无效] 结论 [通过]
  • 测试 [qwer1234$] 结果 [有效] 结论 [通过]
  • 测试 [qwer1234#$] 结果 [无效] 结论 [失败]

最后一个测试应该通过,但失败了。我知道哪里出了问题,但无法掌握正则表达式的魔力。我对错误的看法是,

[0-9+] // This + sign shows that you can have more then 1 of that range of numerics

哪里,

[!@#$%^&*] // Does not have the + sign

我试过了,

[!@#$%^&*+] // Does not have the + sign
[!@#$%^&*]+ // Does not have the + sign

两者都不起作用。我错过了什么?

最佳答案

根据您的实际需要,从您对情况的令人困惑的描述来看,这里有两个正则表达式,希望对您有所帮助。第一个要求密码以至少 1 个字母字符开头,其次至少有 1 个数字字符,最后至少有 1 个特殊字符。

/^([a-zA-Z]+[0-9]+[!@#$%^&*]+)$/

http://jsfiddle.net/ECwP8/

如果您不要求字符按特定顺序出现,您可以尝试以下正则表达式:

/(?=[^a-zA-Z]*[a-zA-Z])(?=[^0-9]*[0-9])(?=[^!@#$%^&*]*[!@#$%^&*])/

http://jsfiddle.net/bJTTk/1/

此要求仅要求密码中至少有 1 个字母字符、至少 1 个数字字符和至少 1 个特殊字符,且可以任意顺序出现。

关于javascript - 密码中允许使用多个特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com