以下正则表达式适用于chrome和firefox,但不适用于IE7:
^((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,20})$
它至少需要包含8个字符,并且至少包含大写字母和数字。当我在IE7中尝试这个时,我必须键入14个字符才能进行验证。有人可以解释为什么以及所有3种浏览器的正确表达方式。
我正在使用asp:RegularExpressionValidator来验证密码。
答案 0 :(得分:3)
答案 1 :(得分:0)
str.length > 8
/[A-Z]/
/\d/
三个检查与一个怪物正则表达式。哪个更容易阅读并且不会在IE中引起问题?
if( str.length > 8 && str.search(/[A-Z]/) != -1 && str.search(/\d/) != -1 )
{
//Don't use big long regex when you don't need it
}