您好,登錄后才能下訂單哦!
這篇文章主要介紹JS如何控制只能輸入數字并且最多允許小數點兩位,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體代碼如下所示:
<!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>
ps:js如何限制input輸入框只能輸入數字
代碼中我是這樣實現的:
<input type="text" class="form-control match-rotation-input" maxlength="3" οnkeyup="value=value.replace(/[^\d]/g,'')"//輸入時校驗 οnblur="value=value.replace(/[^\d]/g,'')"//失去焦點時校驗 ng-model="schedule.round" placeholder="請輸入數字">
添加了一行οnkeyup="value=value.replace(/[^\d]/g,'')"
這里運用了正則表達式來處理比較簡單,然后添加提示語:placeholder="請輸入數字"。
但是為什么還要加οnblur="value=value.replace(/[^\d]/g,'')"
這一行呢?
這是因為在操作的過程中,會發現如果你一直常按著字母鍵,然后點擊鼠標讓input失去焦點,
會導致在input框中出現字母,所以為了避免這個問題,后面又加入了οnblur="value=value.replace(/[^\d]/g,'')"
注意:之前想過改type為:number類型 但是出來的樣式不符合我們要的,所以采用了正則來匹配
以上是“JS如何控制只能輸入數字并且最多允許小數點兩位”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。