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