日期:2014-05-17  浏览次数:20797 次

各位大虾,请赐教!请问控制输入框的输入怎么实现?
我想限制输入框的输入,
只能是正数,负数,零,小数,请问怎么写?
正则表达式也可以,不过我对正则表达式不太熟悉,
如果是正则表达式的,麻烦写详细点。谢谢各位大虾!

------解决方案--------------------
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
^([1-9]\d?(\.\d{1,2})?|0\.\d{1,2}|100)$ //判断数字为大于0小于等于100 ,整数小数都可但小数最多两位
------解决方案--------------------
<!--参考:inputnumeric.htm
这个页面中有一个输入框,只能输入有效数字
-->
<html>
<head>
<title> 只输入数字 </title>
</head>
<script language= "JavaScript ">
function IsNumeric()
{
val = document.all.text1.value;
var p = /^-?\d+(\.\d*)?$/;
while (!(val == " " || val == "- " || p.test(val))){
document.all.text1.value = val.substr(0,val.length-1);
val = document.all.text1.value;
}
}

</script>
<body>
<input type= "text " name= "text1 " onkeyup= "IsNumeric() ">
</body>
</html>