限制input框只能输入小数并保持小数点后两位
1 2 3 4 5 6 7 |
function num(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(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3'); //只能输入两个小数 } |
再来一个需求,考试打分不能打 25.24或者25.2之类的分数,只能判分为4.5或者6.5分。也就是说小数点后面只能是5。
1 2 3 4 5 6 7 |
function num(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(/^(\-)*(\d+)\.(\d).*$/,'$1$2.5'); //只能输入一个小数 } |
使用方式:
1 |
<input class="form-control" type="text" onkeyup="num(this);" value=""> |