我对正则表达式有点新,并且正在编写需要使用正则表达式的数量字段的验证。
如何匹配小于或等于24的所有数字?
我试过
var pat = /^[1-9]$|^[1-2]\d$|^3[0-6]$/;
但这只匹配1-24。是否有一种简单的方法可以匹配小于或等于24的所有可能数字?
答案 0 :(得分:4)
我不建议您使用正则表达式来检查数字是否在范围之间。要比较数字,应使用比较运算符。
if (number >= 0 && number <= 24)
但是,如果这不可行/可能,您可以使用正则表达式。
您也可以使用
^(2[0-4]|[01]?[0-9])$
<强>解释强>
^
:行首锚2[0-4]
:匹配2
后跟0到4之间的任意数字 - 匹配20-24 |
:正则表达式中的OR条件[01]?[0-9]
:[01]?
:可选地匹配0或1。 [0-9]
:在0到9范围内匹配任意数字 - 匹配0-19
input:valid {
color: green;
}
input:invalid {
color: red;
}
<input pattern="(2[0-4]|[01]?[0-9])" />
您可以使用以下正则表达式
^(2[0-4])|(^[01]?[0-9])$
答案 1 :(得分:0)