我正在AngularJS中编写验证。我要准确地允许6位数的正数(6位整数)。我正在使用以下正则表达式,但它不起作用:
"pattern": /^\+?[0-9]+$/
它也接受-15。
答案 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