input框输入验证
一个简单的input框输入验证,效果为只能输入数字,且保留最多两位小数。以下是代码部分,不足之处还望指正。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input onkeyup="checkNum(this)"/>
</body>
<script type="text/javascript">
//设置只能输入数字和保留两位小数
function checkNum(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数
obj.value = obj.value.replace(/^\./g, ''); //首位不能输入“.”
if(obj.value.indexOf(".")< 0 && obj.value !=""){//如果没有小数点,首位不能为0,如01、02...
obj.value= parseFloat(obj.value);
}
}
</script>
</html>