Skip to main content
 首页 » 编程设计

c#之密码正则表达式(客户端 javascript)

2024年01月11日43lautakyan007

我需要一个满足以下条件的正则表达式:

至少 7 个字母数字字符和 1 个特殊字符

我用过这个:

^.*(?=.{7,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$!%^&+=]).*$ 

如果我输入 Password1,它会正常工作!但不适用于 PASSWORD1!

不会为:Stmaryshsp1tal 工作!

我在指定正则表达式的位置使用 Jquery 验证插件。

当我使用正则表达式验证器并指定以下正则表达式时:

^.*(?=.{7,})(?=(.*\W){1,}).*$ 

它运行完美,没有任何问题。当我在 Jquery 验证中设置此正则表达式时,我正在使用它不起作用。

请问有人能解释一下吗?我想了解为什么我的第一个正则表达式不起作用。

请您参考如下方法:

(?=.\d)(?=.[a-z]) 

尝试在同一位置匹配数字和字母数字字符。请记住 (?= ... ) 不会 glob 任何东西。

你想要的可能是:

^(?=.*\W)(?=(.*\w){7}) 

这与确认您的字符串同时匹配 ^.*\W(至少一个特殊字符)和 ^(.*\w){7})(7 个字母数字字符。请注意,如果有更多,它也会匹配。