【发布时间】:2016-02-04 07:40:43
【问题描述】:
我正在使用 AngularJS 在我的表单中进行一些验证。在某些领域,我只需要接受数字。范围是从一位数到 n 位数。我打算在 AngularJS 的ngPattern 属性中使用正则表达式。
我需要使用正则表达式完成以下事情:
- 如果是单个数字,则不应为 0。可以是 1 到 9 之间的任何值。
- 如果是多位数字,则从 0 到 9 的所有数字都可以用于并非所有数字都为 0 的任何位置,即输入的总值不应为 0
我正在努力寻找可以接受这种模式的正则表达式。是否可以使用正则表达式接受这种模式?早些时候我在想,至少最后一个数字应该是非零数字,这样像 0000 这样的条目是不可能的,并且必须是 000x,其中 x 是从 1 到 9 的任何值。但是这个逻辑是有缺陷的,因为它不允许人们以 10 的倍数输入值。
如何实施此验证?
【问题讨论】:
-
你能展示你已经尝试过的代码吗?
-
@DaanvanHulst,我知道这是错误的,但这是我正在尝试的:
^([1-9]|[0-9]*)$。这也是我从 Stackoverflow 的答案中获取的,并对其进行了一些修改
标签: javascript angularjs regex html-validation