正则表达式,用于验证大于0且小于1999的数字

时间:2012-11-20 09:24:35

标签: javascript regex

我需要一个正则表达式来验证大于0且小于1999的数字。

我尝试了以下代码,但它需要LiveValidation和大量代码。

var f8 = new LiveValidation('f8');
f8.add( Validate.Numericality, { minimum: 0, maximum: 1999} );

由于

5 个答案:

答案 0 :(得分:6)

你有没有试过这样的事情:

^[0-1]?[0-9]{0,3}$

答案 1 :(得分:2)

怎么样

([1-9][0-9]{0,2}|1[0-8][0-9]{2}|19[0-8][0-9]|199[0-8])

答案 2 :(得分:1)

通过寻找将数字与正则表达式进行比较的答案,只要想想你浪费了多少时间。但我认为作为程序员,您知道><符号在每种语言中都可以比较数字。我建议你使用它们。

function is_valid(strNum){
    var num = parseInt(strNum);
    return (num>0 && num<1999);
}

此代码将满足您的需求,甚至不会浪费时间

答案 3 :(得分:1)

查看此模式:

^([0-9]{0,3}|1\d[0-8][9]|1\d{2}[0-8])$

它允许介于1和1998之间的值,包括在内。

答案 4 :(得分:0)

我不会用正则表达式执行此操作,但请尝试:

/^(?![2-9].{3})\d{1,4}$/

再次,这在不必要的中,但你明白了。