直接上代码:
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body><input type="text" name="je" onblur="clearNoNum(this)"/>元<script type="text/javascript"> ???function clearNoNum(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‘);//只能输入两个小数 ???????if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 ???????????obj.value = parseFloat(obj.value); ???????} ???????if (!obj.value || obj.value == ‘0‘ || obj.value == ‘0.0‘ || obj.value == ‘0.00‘) { ???????????alert(‘退款金额不能为空‘); ???????????return; ???????} ???????// ???正常得话继续调后端接口 ???}</script></body></html>
参考文章:JS控制只能输入数字并且最多允许小数点两位
JS控制只能输入数字并且最多允许小数点两位
原文地址:https://www.cnblogs.com/yingzi1028/p/9269820.html