項目中遇到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>
