【问题标题】:Regular Expression Help for Internet Explorer 7Internet Explorer 7 的正则表达式帮助
【发布时间】:2013-04-04 09:28:59
【问题描述】:

正则表达式不是我的强项,但我一直在使用下面的方法来验证密码是否在 8 到 20 个字符之间,并且至少有一个数字和一个大小写字符。

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

一切正常,直到我在 Internet Explorer 中进行测试,它返回的所有密码都无效。

这是由于此处描述的 Internet Explorer 7 错误IE7 regex issue - Regex that work in every browser does not work in ie7

在关于上述问题的博客文章之后,我看到有些人说,在大多数情况下,正则表达式可以重新设计,以便它在 IE7 上运行,但正如我所说,我的正则表达式知识并不是最好的,所以如果有人知道如何在 IE7 上进行上述工作会很棒。

我正在使用 ASP.NET,因此另一个选项是将 EnableClientScript 设置为 False,以便在服务器端检查正则表达式,但如果可能的话,我宁愿先检查客户端。

【问题讨论】:

    标签: asp.net regex


    【解决方案1】:

    只需查看您发布的链接。还有here you go

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

    此外,按照相同的链接,这也应该有效:

    /((?=.+\d)(?=.+[A-Z])(?=.+[a-z]).{8,20})/
    

    【讨论】:

    • 谢谢,但我似乎无法在任何浏览器上使用上述内容,因为它总是返回错误。我还在regexpal.com 上尝试过它们
    • @MikeM 你是对的,他可能没有。另外,感谢您的评论,当他们也丢失了他的正则表达式时,我只是复制并粘贴了:)
    • 谢谢 ((?=.{8,20})(?=.*\d)(?=.*[A-Z])(?=.*[a-z]).*) 工作完美在 IE7 中
    猜你喜欢
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多