【问题标题】:AngularJS: Input Validation - How to force a 100% RegEx match?AngularJS:输入验证 - 如何强制 100% 正则表达式匹配?
【发布时间】:2014-03-04 00:55:26
【问题描述】:

当在input 上使用ng-pattern="/REGEX/" 时,AngularJS 会检查输入值的一部分是否与正则表达式匹配。

我如何告诉 AngularJS 我想在 1 个字符与 RegEx 不匹配时立即抛出错误?

示例

  • 字符串:4d
  • 正则表达式:[a-zA-Z\x7f-\xff ]+
  • 正则表达式匹配:d

(请随时在此处测试 RegEx:http://regex101.com/

【问题讨论】:

  • 可能你用错了regexp。要获得一些帮助,您应该发布您正在使用的regexp 和一些输入数据。
  • 我在regex101.com/#Javascript查看过,但我也插入到了原帖中。
  • 您的正则表达式可以限制更多吗?我不知道您要验证哪种字符串,但您可以添加更多限制性参数,例如 ^(字符串开头)
  • 字符串应该只包含空格和小写+大写字符以及像ä、ü、ß、ê这样的字符

标签: regex angularjs


【解决方案1】:

您可以尝试^(字符串的开头)和$(字符串的结尾)符号。

这样你的 RegExp 应该是这样的:

^[a-zA-Z\x7f-\xff ]+$

【讨论】:

  • 谢谢,这对我有用。我仍然想知道为什么没有 AngularJS 设置...
  • 我相信 AngulasJS 的开发者决定,既然你可以在纯正则表达式中做到这一点,就不需要提供这样的 API :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
相关资源
最近更新 更多