【发布时间】:2009-03-25 16:05:00
【问题描述】:
我正在使用 RegExp 来验证 ASP.NET 网页上的一些用户输入。它旨在强制构建密码(即长度在 8 到 20 之间,至少一个大写字符,至少一个小写字符,至少一个数字,至少一个字符 #@!$% 并且没有用由字母 L 或 O(大写或小写)或数字 0 和 1 组成。这个 RegExp 在我的测试器(Expresso)和我的 C# 代码中运行良好。
看起来是这样的:
(?-i)^(?=.{8,20})(?=.*[2-9])(?=.*[a-hj-km-np-z])(?=.*[A-HJ-KM-NP-Z])
(?=.*[#@!$%])[2-9a-hj-km-np-zA-HJ-KM-NP-Z#@!$%]*$
(为格式化添加换行符)
但是,当我在 IE6 或 IE7 中运行代码时(没有尝试过其他浏览器,因为这是一个内部应用程序,我们是 Microsoft 商店),我收到一个运行时错误,提示“常规语法错误”表达'。就是这样 - 除了行号之外,错误消息中没有更多信息。
JavaScript 不喜欢这个的原因是什么?
【问题讨论】:
标签: javascript regex