密码正则表达式适用于chrome和firefox,但不适用于IE7

时间:2011-01-13 16:05:10

标签: c# javascript asp.net regex client-side

以下正则表达式适用于chrome和firefox,但不适用于IE7:

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

它至少需要包含8个字符,并且至少包含大写字母和数字。当我在IE7中尝试这个时,我必须键入14个字符才能进行验证。有人可以解释为什么以及所有3种浏览器的正确表达方式。

我正在使用asp:RegularExpressionValidator来验证密码。

2 个答案:

答案 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
}