regex - 使用 AngularJS 和 Pattern/RegEx 验证 <input type ="number"/>

标签 regex angularjs

我有一个数字类型的输入,我想确保它只接受一个数字。我可以在服务器端很好地做到这一点,但是使用 AngularJS 我无法让它工作。

这是代码:

<input type="number" ng-pattern="/[0-9]+/" name="numOfFruits" ng-model="basket.numOfFruits" />

我怀疑这与我提供的模式有关 [0-9]+基本上我只想要这个文本框中的数字,任何不是由数字 0 到 9 组成的,我都希望输入无效。

目前,我的输入字段看到这个 aa23423作为有效输入!

最佳答案

您需要使用 anchor :

/^[0-9]+$/
  • ^ : 行首 anchor 。
  • [0-9]+ 0之间的一个或多个数字和 9 .
  • $ : 行尾 anchor 。

  • 因此,它匹配字符串的开头,然后匹配一个或多个数字,然后查找字符串的结尾,因此它匹配只包含数字而没有其他内容的字符串。

    否则,/[0-9]+/将仅匹配 aa23423 的一部分,更准确的数字23423因此会给你有效。

    关于regex - 使用 AngularJS 和 Pattern/RegEx 验证 &lt;input type ="number"/>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20124302/

    相关文章:

    html - Notepad++ 搜索的正则表达式

    php - 在 MySQL 中存储带有通配符的 URL 并返回匹配项

    mysql - 如何将 ng-value 发布到 mysql 数据库

    javascript - 用于验证字段的正则表达式

    Python正则表达式适用于开头匹配,但不适用于结尾匹配

    javascript - Angularjs 1.3+ 单向与双向数据绑定(bind)

    angularjs - ui-router 获取谷歌分析状态变化的当前路径

    javascript - 无法隐藏元素

    javascript - angularjs json两种方式绑定(bind)到文本区域

    regex - 如何使用正则表达式找到空白的 Markdown 标题?