日期:2014-05-16  浏览次数:20399 次

求限定输入21-20000的正则表达式
如题。。。

------解决方案--------------------
function Num(input) {
return /^([3-9]\d|[2][1-9]|\d{3,4}|[1]\d{4})$/.test(input);
}
------解决方案--------------------
<script type= "text/javascript ">
var p = /^(?:2[1-9]|(?:1\d\d\d|[1-9]\d\d|[1-9]\d|[3-9])\d|20000)$/;
for (var i = 20 ; i < 20002 ; i ++) if (!p.test(i)) document.write(i, " <br \/> ");
</script>
这么简单的东西。为什么非要用正则呢?
------解决方案--------------------
<html>
<head>
<script language=javascript>
function a(){
var t=document.getElementById( "t ").value;
alert(t);
var reg=/^((2[1-9])|([3-9]\d)|([1-9]\d{2,3})|(1\d{4})|(20000))$/;

var result=reg.test(t);
alert(result);
}
</script>
</head>
<body >
<input type= "text " id= "t "> <button onclick= "a(); "> check </button>
</body>
</html>
------解决方案--------------------
不知道这功能为什么要用正则

哈,写了一个,本以为能简化一下,结果还是没简化多少,失败

/^(?!(?:1\d|20)$)(?:1\d{4}|[1-9]\d{1,3}|20000)$/