input輸入框限制只能輸入數(shù)字的方法實例(個人認為最好的)
限制input輸入框限制輸入為數(shù)字
在項目中會遇到表單填寫的時候在input中輸入純數(shù)字的情況,這個時候需要我們在輸入框?qū)τ脩舻妮斎胱鲆恍┫拗?/p>
一、使用JS限制 input 輸入框只能輸入純數(shù)字
1、onkeyup = "value=value.replace(/[^\d]/g,'')"
使用 onkeyup 事件,有 bug ,那就是在中文輸入法狀態(tài)下,輸入漢字之后直接回車,會直接輸入字母,所以:不推薦
2、onchange = "value=value.replace(/[^\d]/g,'')"
缺點:使用 onchange 事件,在輸入內(nèi)容后,只有 input 喪失焦點時才會得到結(jié)果,并不能在輸入時就做出響應(yīng)
3、oninput = "value=value.replace(/[^\d]/g,'')"
使用 oninput
事件,完美的解決了以上兩種問題,他可以即時做出響應(yīng),
缺點:當你先輸入數(shù)字,切輸入法中文,開始輸入,之前輸入的數(shù)字會一個個的都消失,直到內(nèi)容為空
4、最后,我發(fā)現(xiàn)了一個功能實現(xiàn)上最好
的:同時使用onkeyup="this.value=this.value.replace(/\D/g,'')"
+ onafterpaste="this.value=this.value.replace(/\D/g,'')"
,唯一不太行的就是 輸入英文或中文是輸入框都會頻閃一下鍵盤輸入的東西,但還是可以接受的
二、VUE使用a-input-number組件限制 input 輸入框只能輸入純數(shù)字
利用a-input-number組件的controls
屬性api去控制不顯示增減數(shù)值的按鈕
缺點:當你輸入中文或英文時,只有在輸入框失去焦點
的時候才會去校驗數(shù)字
三、VUE使用a-input組件利用type=number限制 input 輸入框只能輸入純數(shù)字
當input 使用了type='number’后,會出現(xiàn)這個增減數(shù)值的按鈕,這里建議使用css去控制不顯示:
<a-input type='number' /> // css部分 需要注意瀏覽器兼容問題 <style lang="css" scoped> input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; appearance: none; margin: 0; } /* 火狐 */ input { -moz-appearance: textfield; }
缺點:就是你輸入中文或者英文他會直接拼接一個
'e' 或 'E'
,所以:‘不推薦’
總結(jié):最最最后,個人感覺使用JS的方案四比較合適
onkeyup="this.value=this.value.replace(/\D/g,'')"
+ onafterpaste="this.value=this.value.replace(/\D/g,'')"
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
淺淺擴展一下:
JS判斷只能是數(shù)字和小數(shù)點
1.文本框只能輸入數(shù)字代碼(小數(shù)點也不能輸入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
2.只能輸入數(shù)字,能輸小數(shù)點.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> <input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能輸入數(shù)字');this.value='';}">
3.數(shù)字和小數(shù)點方法二
<input type="text" t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}" />
4.只能輸入字母和漢字
<input onkeyup="value=value.replace(/[\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))"maxlength=10 name="Numbers">
5.只能輸入英文字母和數(shù)字,不能輸入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
6.只能輸入數(shù)字和英文
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">
7.小數(shù)點后只能有最多兩位(數(shù)字,中文都可輸入),不能輸入字母和運算符號:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
8.小數(shù)點后只能有最多兩位(數(shù)字,字母,中文都可輸入),可以輸入運算符號:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
只能是數(shù)字和小數(shù)點和加減乘際
onkeypress="return event.keyCode>=4&&event.keyCode<=57"
總結(jié)
到此這篇關(guān)于input輸入框限制只能輸入數(shù)字的文章就介紹到這了,更多相關(guān)input輸入框限制只輸入數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js實現(xiàn)權(quán)限樹的更新權(quán)限時的全選全消功能
上一篇發(fā)了添加權(quán)限時的權(quán)限樹JS源碼,下面把更新時的也發(fā)給大家借鑒一下,因為更新時候牽扯到判斷已有權(quán)限等,所以,還要麻煩一些。2009-02-02javascript 支持鏈式調(diào)用的異步調(diào)用框架Async.Operation
javascript 支持鏈式調(diào)用的異步調(diào)用框架Async.Operation2009-08-08js實現(xiàn)當鼠標移到表格上時顯示這一格全部內(nèi)容的代碼
下面小編就為大家?guī)硪黄猨s實現(xiàn)當鼠標移到表格上時顯示這一格全部內(nèi)容的代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06用js格式化金額可設(shè)置保留的小數(shù)位數(shù)
這篇文章主要介紹了如何用js格式化金額并設(shè)置保留的小數(shù)位數(shù),需要的朋友可以參考下2014-05-05javascript動態(tài)修改Li節(jié)點值的方法
這篇文章主要介紹了javascript動態(tài)修改Li節(jié)點值的方法,涉及針對li節(jié)點的操作技巧,非常具有實用價值,需要的朋友可以參考下2015-01-01JS實現(xiàn)點擊網(wǎng)頁判斷是否安裝app并打開否則跳轉(zhuǎn)app store
這篇文章主要介紹了JS實現(xiàn)點擊網(wǎng)頁判斷是否安裝app并打開否則跳轉(zhuǎn)app store的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11JS實現(xiàn)的進制轉(zhuǎn)換,浮點數(shù)相加,數(shù)字判斷操作示例
這篇文章主要介紹了JS實現(xiàn)的進制轉(zhuǎn)換,浮點數(shù)相加,數(shù)字判斷操作,結(jié)合實例形式分析了JavaScript數(shù)值運算、判斷相關(guān)操作技巧,需要的朋友可以參考下2019-11-11