我想要一个正则表达式,允许用户只输入0到200之间的数字。 我试过这个,但它不起作用:
var age_regex=/^\S[0-9]{0,3}$/;
答案 0 :(得分:3)
您可以比较数值本身而不是正则表达式:
var ageValue = 50; // get the input age here
var ageNumericVal = +ageValue;
if (ageNumericVal < 0 || ageNumericVal > 200) {
// invalid
}
答案 1 :(得分:2)
我强烈建议使用if
语句,因为正则表达式在这种情况下效率不高。
无论如何,如果你真的想使用RegEx,请尝试以下方法:
var age_regex=/\s[0-1]{1}[0-9]{0,2}/;
修改强>
在<input>
中使用此正则表达式:
(工作演示)
p{
color: red;
}
<form action="#">
Enter Age: <input type="text" name="number" pattern="[0-1]{1}[0-9]{0,2}" title="Please enter a valid number between 0 and 200.">
<input type="submit">
</form>
<p>This form will give error if number does not pass the regex.</p>
答案 2 :(得分:1)
你可以试试这个:
^(0?[1-9]|[1-9][0-9]|[1][1-9][1-9]|200)$
检查年龄的简单方法是不使用正则表达式,只需像这样检查:
if(age >= 0 && age <= 200)
{
//code
}
答案 3 :(得分:0)
您只需检查if
条件而无需正则表达式,因为:
if( input >=0 && input <= 200 ) {
//its valid
}