匹配1字母的正则表达式,1位数字,允许所有特殊字符

时间:2014-10-22 04:41:18

标签: regex passwords

在我的网站(PHP,Mysql)中,我使用下面的正则表达式来验证密码

^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z]{6,}$

我是从http://regexlib.com/得到的。这将验证最少6个字符,其中至少应包含一个字母和一个数字字符。它不允许任何特殊字符

我还需要允许所有特殊字符。

我怎么能修改这个?我不熟悉正则表达式。请帮忙

3 个答案:

答案 0 :(得分:2)

只需在字符类中添加您想要允许的特殊字符:

^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z.!&/()=?+*~#'_:.,;-]{6,}$

答案 1 :(得分:1)

^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]{6,}$

您只需要在现有角色类中添加特殊字符。

答案 2 :(得分:1)

为什么要使用lookahead?

\A[0-9a-zA-Z.!&/()=?+*~#'_:.,;-]{6,}\z