js控制百分比不能超过100%;且小数点后保留两位小数
项目中遇到input文本框输入百分比例,要求不能超过100%,且最多只能保留两位小数。下边是封装好的一个简单的方法
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>百分比方法</title> </head> <body> 只能输入数字和小数点的文本框:<input name="input1" onkeyup="checkIsPreset(this)"> <script language="JavaScript" type="text/javascript"> function checkIsPreset(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("$#$","."); //判断百分比不能超过100% if(obj.value>=100){ alert("分红比例不能大于等于100"); obj.value =""; return; }; //如果有小数点,判断 只能保留两位 if(obj.value.indexOf(".")>-1){ if(obj.value.split(".")[1].length>2){ alert("小数点后只能保留两位"); obj.value =""; return; } } } </script> </body> </html>