// 只能输入正数 function clearNoNum(obj) { // 只能输入数字和小数点的文本框, 只能输入小数点后两位 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("$#$","."); // 只能输入小数点后两位 obj.value = obj.value.replace(".","$#$").replace(/./g,"").replace("$#$",".").replace(/^(-)*(d+).(dd).*$/, '$1$2.$3'); } // 可正数可负数 function clearNoNum(obj) { // 只能输入数字和小数点的文本框, 只能输入小数点后两位 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("$#$","."); // 只保留第一个“.”,清除多余的“.” obj.value = obj.value.replace(/-{2,}/g,"-"); // 当存在连续的多个“-”时,只保留一个 obj.value = obj.value.replace("-","$#$").replace(/-/g,"").replace("$#$","-"); // 只保留第一个“-”,清除多余的“-” if (!(/^-/.test(obj.value))) { // 如果行首不是“-”,则不允许有“-” obj.value = obj.value.replace("-",""); } // 只能输入小数点后两位 obj.value = obj.value.replace(/^(-)*(d+).(dd).*$/, '$1$2.$3'); }
使用方法
<html> <head> <script type="text/javascript"> function clearNoNum2(obj) { // 只能输入数字和小数点的文本框, 只能输入小数点后两位 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("$#$","."); // 只保留第一个“.”,清除多余的“.” obj.value = obj.value.replace(/-{2,}/g,"-"); // 当存在连续的多个“-”时,只保留一个 obj.value = obj.value.replace("-","$#$").replace(/-/g,"").replace("$#$","-"); // 只保留第一个“-”,清除多余的“-” if (!(/^-/.test(obj.value))) { // 如果行首不是“-”,则不允许有“-” obj.value = obj.value.replace("-",""); } // 只能输入小数点后两位 obj.value = obj.value.replace(/^(-)*(d+).(dd).*$/, '$1$2.$3'); } </script> </head> <body> <input type="text" autocomplete="off" id="mitxt_jzjy_matchamt" onkeyup="clearNoNum2(this)" /> </body> </html>