转载地址:http://www.jb51.net/article/85238.htm
<html>
<head>
<script language=
"JavaScript"
>
function
onlyNumber(obj){
//得到第一个字符是否为负号
var
t = obj.value.charAt(0);
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d\.]/g,
''
);
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,
''
);
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,
'.'
);
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(
'.'
,
'$#$'
).replace(/\./g,
''
).replace(
'$#$'
,
'.'
);
//如果第一位是负号,则允许添加
if
(t ==
'-'
){
obj.value =
'-'
+obj.value;
}
}
</script>
<meta http-equiv=
"content-Type"
content=
"text/html;charset=gb2312"
>
<meta name=
"keywords"
content=
""
/>
<meta name=
"description"
content=
""
/>
<title>限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数</title>
</head>
<body>
<hr/>
只能输入数字的文本框:<input onkeyup=
"this.value=this.value.replace(/\D/g,'')"
onblur=
"this.value=this.value.replace(/\D/g,'')"
/>
<br/>
<hr/>
只能输入数字和小数点的文本框:<input onkeyup=
"value=value.replace(/[^\d\.]/g,'')"
onblur=
"value=value.replace(/[^\d\.]/g,'')"
/>
<br/>
<hr/>
只能输入数字且只能有一个小数点的文本框(小数点不能在开头,可以在结尾,第一位允许添加负号即浮点数):<input onkeyup=
"onlyNumber(this)"
onblur=
"onlyNumber(this)"
/>
<hr/>
</body>
</html>