regex - AngularJS ng-pattern 奇怪的行为(正则表达式)

标签 regex angularjs angular-ui-router

在少数情况下,我使用 ng-pattern 来验证我的客户端,例如查看密码复杂性。
现在,我使用 ng-pattern 在我的正则表达式中得到了非常奇怪的匹配。看看下面的例子

<span class="registration-error" ng-show="regForm.password.$error.pattern">- Fail to match..</span>
<input type="password" ng-model="registerForm.password" name="password" ng-pattern="/^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d\W]).*$/"  required/>
以上应要求 8 个字符,至少 1 个大写字符和 1 个数字或特殊字符。
出于某种原因,我在 这样的词上得到了匹配。 FaiLoudD 这是没有意义的。
我在我的 python 后端运行相同的正则表达式,它就像一个魅力。
我还使用 http://regexpal.com/ 验证了正则表达式它也很完美。
为什么 ng-pattern 匹配这么奇怪?
更新:
我深入研究了我的应用程序的所有模块和整个构建过程。当我在构建过程中禁用 grunt-html2js 时,ng-pattern 指令再次开始工作。它似乎导致 ng-pattern 错误地解释了正则表达式。由于问题是在 html2js 项目中创建的。有了这个,我将结束这个问题。

最佳答案

我深入研究了我的应用程序的所有模块和整个构建过程。当我在构建过程中禁用 grunt-html2js 时,ng-pattern 指令再次开始工作。它似乎导致 ng-pattern 错误地解释了正则表达式。由于问题是在 html2js 项目中创建的。有了这个,我将结束这个问题。
测试了 grunt-html2js 的 0.1.3 和 0.1.6 版本。
更新
在 html2js 项目中创建的问题导致版本 0.1.7 解决了该错误。
感谢 karlgoldstein 的快速响应和修复。

关于regex - AngularJS ng-pattern 奇怪的行为(正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18397718/

相关文章:

regex - 在 bash 中提取一段字符串?

java - 解析 JSON 字符串返回未定义

Angularjs angular-ui-switch 添加额外的 ng-change 事件

javascript - 印度密码验证正则表达式 - 只有六位数字,不应以 `0` 开头

regex - 使用 grep 仅显示匹配的字符串

javascript - Angular.bootstrap 不工作

javascript - ngRouter 到 ui-router

javascript - 如何访问[object object] AngularJS的数据

AngularJS UI 路由器 : Test ui-sref

Java:当且仅当后跟其他字符时如何替换所有出现的字符