angularjs正则表达式为正数固定长度

时间:2016-01-29 08:05:36

标签: angularjs regex

我正在AngularJS中编写验证。我要准确地允许6位数的正数(6位整数)。我正在使用以下正则表达式,但它不起作用:

"pattern": /^\+?[0-9]+$/

它也接受-15。

2 个答案:

答案 0 :(得分:2)

你没有反斜杠第一个加号。在正则表达式中,加号表示前一个元素应匹配一次或多次。但是,您只需要常规加号,因此请为其添加\

/^\+?([1-9][0-9]{5})$/

如果您使用正则表达式执行更多操作,那么RegExr.com是一个很棒的网站,您可以在其中了解更多并实时测试它们。

答案 1 :(得分:0)

第一个匹配字符串中的任意位数。第二个只允许6位数(而不是更少)。所以从两者中取得更好的效果:

/^\d{1,6}$/

其中\d[0-9]相同。

例如:

    var data ='-15';
    var reg= /^\d{1,6}$/;
    alert(reg.test(data));
    /*
    1. '-15' will prompt false.
    2. '012345' will prompt true.
    3. '' will prompt false.
   */

实例here