如何在 AngularJS 中通过正则表达式获取以下模式?
How to get the following pattern via regex in AngularJS?
我正在使用 AngularJS 在我的表单中进行一些验证。因为有几个字段我只需要接受数字。范围从一位到 n 位。我打算在 AngularJS.
的 ngPattern
属性中使用正则表达式
我需要使用正则表达式完成以下操作:
- 如果是单个数字,则不应为 0。可以是 1 到 9 之间的任何数字。
- 如果是多位数,0到9的所有数字都可以用在不是所有数字都是0的任何位置,即输入的总值不应该是0
我正在努力寻找一个可以接受这种模式的正则表达式。是否可以使用正则表达式接受这种模式?早些时候我在想,至少最后一个数字应该是非零数字,这样像 0000 这样的条目是不可能的,并且必须是 000x,其中 x 是 1 到 9 之间的任何值。但是这个逻辑是有缺陷的,因为它不允许人们以 10 的倍数输入值。
如何实施此验证?
我想,这就是您要找的人:
^[0-9]*[1-9][0-9]*$
它匹配任何包含至少一个非零数字的数字。
更好的答案是:
^(([1-9])|(0?([1-9]{1})[0-9]*))$
这与上面基本相同,但它也允许 01 - 09(当然还有 01[##]),具体取决于您的应用程序。
我正在使用 AngularJS 在我的表单中进行一些验证。因为有几个字段我只需要接受数字。范围从一位到 n 位。我打算在 AngularJS.
的ngPattern
属性中使用正则表达式
我需要使用正则表达式完成以下操作:
- 如果是单个数字,则不应为 0。可以是 1 到 9 之间的任何数字。
- 如果是多位数,0到9的所有数字都可以用在不是所有数字都是0的任何位置,即输入的总值不应该是0
我正在努力寻找一个可以接受这种模式的正则表达式。是否可以使用正则表达式接受这种模式?早些时候我在想,至少最后一个数字应该是非零数字,这样像 0000 这样的条目是不可能的,并且必须是 000x,其中 x 是 1 到 9 之间的任何值。但是这个逻辑是有缺陷的,因为它不允许人们以 10 的倍数输入值。
如何实施此验证?
我想,这就是您要找的人:
^[0-9]*[1-9][0-9]*$
它匹配任何包含至少一个非零数字的数字。
更好的答案是:
^(([1-9])|(0?([1-9]{1})[0-9]*))$
这与上面基本相同,但它也允许 01 - 09(当然还有 01[##]),具体取决于您的应用程序。