用于年龄验证的正则表达式,仅使用Javascript接受0-200之间的年龄

时间:2015-04-06 07:20:35

标签: javascript regex

我想要一个正则表达式,允许用户只输入0到200之间的数字。 我试过这个,但它不起作用:

var age_regex=/^\S[0-9]{0,3}$/;

4 个答案:

答案 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}/;

Regex demo and explanation.

修改

<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
}