<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> 只能输入数字的文本框: <input onkeyup="this.value=this.value.replace(/D/g,'')" onblur="this.value=this.value.replace(/D/g,'')"/> 只能输入数字和小数点的文本框: <input onkeyup="value=value.replace(/[^d.]/g,'')" onblur="value=value.replace(/[^d.]/g,'')"/> 只能输入数字且只能有一个小数点的文本框(小数点不能在开头,可以在结尾,第一位允许添加负号即浮点数): <input onkeyup="onlyNumber(this)" onblur="onlyNumber(this)" /> </body> </html>