1

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

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

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

谢谢

4

5 回答 5

6

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

^[0-1]?[0-9]{0,3}$
于 2012-11-20T09:30:14.747 回答
2

怎么样

([1-9][0-9]{0,2}|1[0-8][0-9]{2}|19[0-8][0-9]|199[0-8])
于 2012-11-20T09:30:47.943 回答
1

想想你只是在寻找一个答案来将一个数字与正则表达式进行比较浪费了多少时间。但我认为作为一名程序员,你知道><每种语言都有符号来比较数字。我建议你使用这些。

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

这段代码会做你需要的,甚至不会浪费时间

于 2012-11-20T09:39:24.413 回答
1

看看这个模式:

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

它将允许 1 到 1998 之间的值,包括 1 和 1998。

于 2012-11-20T12:40:32.633 回答
0

我不会用正则表达式这样做,但尝试:

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

同样,这是不必要的,但你明白了。

于 2012-11-20T09:39:29.707 回答