正则表达式:1个大写字母、1个特殊字符和1个小写字母。

6
我需要一个正则表达式,要求包含一个大写字母、一个特殊字符和一个小写字母。注意需要允许所有特殊字符,并且长度应该超过8个字符。
我已经尝试了 /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/,但它限制了一些特殊字符。

这是用于密码检查的吗?- 使用哪种编程语言? - Thomas Ayoub
1
这个怎么样?https://dev59.com/6Wkx5IYBdhLWcg3wCf8q#32761797 - Bakudan
是的,密码检查 JavaScript。 - Ashwin
@Bakudan 我更喜欢 https://dev59.com/6Wkx5IYBdhLWcg3wCf8q#9478691 - Madivad
2个回答

9

尝试使用以下正则表达式:

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

正则表达式演示

说明:

(/^
(?=.{8,})                //should be 8 characters or more
(?=.*[a-z])             //should contain at least one lower case
(?=.*[A-Z])             //should contain at least one upper case
(?=.*[@#$%^&+*!=])      //should contain at least 1 special characters
.*$/)

1
很好的正则表达式演示和解释!+1 感谢!这是我有用工具库中的一个新站点。 - Madivad
@Madivad:不客气! - Rahul Tripathi

3

我会使用:

^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\d]).*$

请注意,[^\w\d] 允许任何特殊字符。

这不需要任何特殊字符。谢谢! - Joel'-'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接