我想检查密码是否至少包含一个字母和一个数字。特殊字符被接受但不是必需的......
这将是一个简单的密码检查程序。
答案 0 :(得分:29)
您可以使用超前断言来检查是否存在任何数字和任何字母:
^(?=.*[a-zA-Z])(?=.*[0-9])
答案 1 :(得分:6)
使用单个正则表达式会导致代码有些难以理解/不可靠。使用更简单的正则表达式(例如[0-9]
)检查数字的存在并将密码强度检查器的要求分解为多行if
可能更有意义。此外,这使您可以更容易地了解验证失败的阶段,并可能向用户提出建议。
答案 2 :(得分:1)
([0-9].*[a-zA-Z])\|([a-zA-Z].*[0-9])
不确定管道是否需要在正则表达式环境中进行转义。
答案 3 :(得分:1)
检查包含至少一个字母,至少一个数字且没有空格的密码的简单解决方案:
\S*(\S*([a-zA-Z]\S*[0-9])|([0-9]\S*[a-zA-Z]))\S*
答案 4 :(得分:0)
/.*?(?:[a-z].*?[0-9]|[0-9].*?[a-z]).*?/
(只是一个可能的解决方案)
答案 5 :(得分:0)
这对我有用
/^(\d+[a-zA-Z]|[a-zA-Z]+\d)(\d|[a-zA-Z])*/mg