【问题标题】:ng-pattern not working properly, matching every stringng-pattern 无法正常工作,匹配每个字符串
【发布时间】:2013-11-26 11:43:45
【问题描述】:

我需要使用模式匹配验证密码字段。我为此使用了 ng-pattern。但它不能正常工作。

this pluker link

我在这里给出的模式是,文本至少应包含 8 个字符,包括符号、字母和数字。但是当我输入任何字符串时,模式匹配就会变为真。

见以下代码

<body ng-controller="MainCtrl">
    <form name="form">
      <input type="text" name="password" ng-model="user.password" ng-pattern="/(^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[\W]).*$)/">
      <input type="submit">
      {{form.password.$error}}
    </form>
</body>

我在这里错过了什么?

【问题讨论】:

  • 你应该在问题中显示代码
  • 我给了一个 pluker 链接。它包含代码。

标签: regex angularjs


【解决方案1】:

这似乎有效。如果字段无效,则表达式{{form.password.$error}} 变为true。空字段没有得到验证。

因此输入aaaaa(5 个字母)会使该字段无效。由于长度原因,添加1@(数字+符号)仍然无效。添加任何内容使其有效(>= 8 个字符,包括字母、数字、符号 → 显示屏显示 false)。

【讨论】:

  • 您的意思是正则表达式在执行 OP 描述时不正确?
  • OP 写道:“文本应包含至少 8 个字符,包括符号、字母和数字”。所以8个字母确实是无效的。
猜你喜欢
  • 1970-01-01
  • 2017-01-22
  • 2017-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
  • 2023-03-09
相关资源
最近更新 更多