我正在尝试创建一个正则表达式来检查密码字段,我希望至少需要一个大写字母、一个小写字母和一个数字。
我还想允许用户使用特殊字符,但我不希望特殊字符成为必需。
这可能吗?如果可以,我应该使用什么正则表达式?
最佳答案
如果您不希望特殊字符成为要求,则验证它是没有意义的。
这个正则表达式应该这样做:/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).*$/
请注意,此正则表达式无法正确验证不在 a-zA-Z 默认 ascii 范围内的字符。因此,如果我的密码是 åäöÅäÖ1234
,那么即使有大写和小写字母,它对于该正则表达式也是无效的。
如果这是一个要求,一个可能的解决方案是使用 unicode 属性进行重写。
关于Javascript 正则表达式,需要一个大写字母、一个小写字母和一个数字,并允许特殊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20586480/