JS控制只能輸入數(shù)字并且最多允許小數(shù)點(diǎn)兩位
下面通過(guò)一段代碼給大家介紹JS控制只能輸入數(shù)字并且最多允許小數(shù)點(diǎn)兩位,具體代碼如下所示:
<!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, ""); //清除“數(shù)字”和“.”以外的字符 obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個(gè). 清除多余的 obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能輸入兩個(gè)小數(shù) if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已經(jīng)過(guò)濾,此處控制的是如果沒(méi)有小數(shù)點(diǎn),首位不能為類(lèi)似于 01、02的金額 obj.value = parseFloat(obj.value); } if (!obj.value || obj.value == '0' || obj.value == '0.0' || obj.value == '0.00') { alert('退款金額不能為空'); return; } // 正常得話(huà)繼續(xù)調(diào)后端接口 } </script> </body> </html>
ps:js如何限制input輸入框只能輸入數(shù)字
代碼中我是這樣實(shí)現(xiàn)的:
<input type="text" class="form-control match-rotation-input" maxlength="3" οnkeyup="value=value.replace(/[^\d]/g,'')"http://輸入時(shí)校驗(yàn) οnblur="value=value.replace(/[^\d]/g,'')"http://失去焦點(diǎn)時(shí)校驗(yàn) ng-model="schedule.round" placeholder="請(qǐng)輸入數(shù)字">
添加了一行οnkeyup="value=value.replace(/[^\d]/g,'')"
這里運(yùn)用了正則表達(dá)式來(lái)處理比較簡(jiǎn)單,然后添加提示語(yǔ):placeholder="請(qǐng)輸入數(shù)字"。
但是為什么還要加οnblur="value=value.replace(/[^\d]/g,'')"
這一行呢?
這是因?yàn)樵诓僮鞯倪^(guò)程中,會(huì)發(fā)現(xiàn)如果你一直常按著字母鍵,然后點(diǎn)擊鼠標(biāo)讓input失去焦點(diǎn),
會(huì)導(dǎo)致在input框中出現(xiàn)字母,所以為了避免這個(gè)問(wèn)題,后面又加入了οnblur="value=value.replace(/[^\d]/g,'')"
注意:之前想過(guò)改type為:number類(lèi)型 但是出來(lái)的樣式不符合我們要的,所以采用了正則來(lái)匹配
總結(jié)
以上所述是小編給大家介紹的JS控制只能輸入數(shù)字并且最多允許小數(shù)點(diǎn)兩位的相關(guān)知識(shí),希望對(duì)大家有所幫助!
- js取小數(shù)點(diǎn)后兩位四種方法
- js限制input只能輸入有效的數(shù)字(第一個(gè)不能是小數(shù)點(diǎn))
- Angularjs中的驗(yàn)證input輸入框只能輸入數(shù)字和小數(shù)點(diǎn)的寫(xiě)法(推薦)
- javascript 取小數(shù)點(diǎn)后幾位幾種方法總結(jié)
- JS取數(shù)字小數(shù)點(diǎn)后兩位或n位的簡(jiǎn)單方法
- JS驗(yàn)證 只能輸入小數(shù)點(diǎn),數(shù)字,負(fù)數(shù)的實(shí)現(xiàn)方法
- 文本框只能輸入數(shù)字的js代碼(含小數(shù)點(diǎn))
- Javascript將數(shù)值轉(zhuǎn)換為金額格式(分隔千分位和自動(dòng)增加小數(shù)點(diǎn))
- JavaScript 如何刪除小數(shù)點(diǎn)后的數(shù)字
相關(guān)文章
javaScript產(chǎn)生隨機(jī)數(shù)的用法小結(jié)
這篇文章主要介紹了javaScript產(chǎn)生隨機(jī)數(shù)的用法小結(jié),包括JavaScript Math.random()內(nèi)置函數(shù) ,Js 隨機(jī)數(shù)產(chǎn)生6位數(shù)字的代碼,需要的朋友可以參考下2018-04-04詳解TS對(duì)象擴(kuò)展運(yùn)算符和rest運(yùn)算符
這篇文章主要介紹了詳解TS對(duì)象擴(kuò)展運(yùn)算符和rest運(yùn)算符,對(duì)TypeScript感興趣的同學(xué),可以參考下2021-05-05NodeJS Express框架中處理404頁(yè)面一個(gè)方式
這篇文章主要介紹了NodeJS Express框架中處理404頁(yè)面一個(gè)方式,原理就是把404路由放在最后匹配,也就是路由中沒(méi)有定義的全部轉(zhuǎn)到404頁(yè)面,需要的朋友可以參考下2014-05-05JavaScript焦點(diǎn)事件、鼠標(biāo)事件和滾輪事件使用詳解
這篇文章主要介紹了JavaScript焦點(diǎn)事件、鼠標(biāo)事件和滾輪事件使用詳解,通過(guò)示例給大家講解的非常細(xì)致,有需要的小伙伴可以參考下。2016-01-01微信小程序開(kāi)發(fā)animation心跳動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了微信小程序開(kāi)發(fā)animation心跳動(dòng)畫(huà)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08js 創(chuàng)建對(duì)象 經(jīng)典模式全面了解
下面小編就為大家?guī)?lái)一篇js 創(chuàng)建對(duì)象 經(jīng)典模式全面了解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08動(dòng)態(tài)加載js、css的簡(jiǎn)單實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇?jiǎng)討B(tài)加載js、css的簡(jiǎn)單實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05