Javascript 正则表达式-数量字段
我想使用Javascript的正则表达式验证quantity字段的内容 有效的输入应该是一个整数,从零开始。如果前导零也可以删除,那就太好了 示例Javascript 正则表达式-数量字段,javascript,regex,integer,Javascript,Regex,Integer,我想使用Javascript的正则表达式验证quantity字段的内容 有效的输入应该是一个整数,从零开始。如果前导零也可以删除,那就太好了 示例 1 Pass 0 Pass 01 Failed 00 Failed -1 Failed 1.1 Failed 1000000 Pass 我已经试过了,但我得到的最好的结果是 var regex = /[0-9]{1,9}/; …对于负数或带前导零的数字不会失
1 Pass
0 Pass
01 Failed
00 Failed
-1 Failed
1.1 Failed
1000000 Pass
我已经试过了,但我得到的最好的结果是
var regex = /[0-9]{1,9}/;
…对于负数或带前导零的数字不会失败
谢谢 试试
^\d+$
。应该匹配正整数。尝试^\d+$
。应匹配正整数。如果要删除前导零而不是禁止它们,则可以使用以下方法:
^0*(\d{1,9})$
现在,您将在捕获的组编号
1
(即使只输入了一个0
)中找到不带尾随零的数字。如果您想删除前导零而不是禁止它们,则可以使用以下方法:
^0*(\d{1,9})$
现在,您将在捕获的组编号中找到不带尾随零的数字。
1
(即使只输入了一个0
)此正则表达式匹配任何不带前导0
的数字序列(除了0
本身,它是单独处理的)
^
和$
是锚定,它们将匹配锚定到字符串的开头和结尾。这意味着,数字前后不允许有任何内容,因此,不能包含减号。此正则表达式匹配没有前导的任何数字序列0
(除了0
本身,它是单独处理的)
var re = /^0*([^0]\d*)$/;
var match = re.exec(str);
if (match) {
var i = parseInt(match[1], 10);
}
else {
//whoops, not an integer
}
^
和$
是锚定,它们将匹配锚定到字符串的开头和结尾。这意味着,数字前后不允许有任何内容,因此,不能包含负号
var re = /^0*([^0]\d*)$/;
var match = re.exec(str);
if (match) {
var i = parseInt(match[1], 10);
}
else {
//whoops, not an integer
}
(match[1]返回不带前导零的整数,将[0]匹配整个匹配字符串)
(match[1]返回不带前导零的整数,匹配[0]整个匹配字符串)。01是有效的>=0整数,00.01是有效的>=0整数,以及00。例如,这将匹配01不处理前导零。例如,这将匹配01不处理前导零。这将不会单独处理
0
,对吗?呸。如果您将其更改为parseInt(匹配[0],10),它将。正则表达式本身将匹配0。不匹配。它需要一个非零字符;)这不会自行处理0
,对吗?呸。如果您将其更改为parseInt(匹配[0],10),它将。正则表达式本身将匹配0。不匹配。它需要一个非零字符;)完美的我就知道你们不会让我失望的!完美的我就知道你们不会让我失望的!