javascript數(shù)字驗證的實例代碼(推薦)
現(xiàn)在有一個需求如下圖:
產(chǎn)品經(jīng)理說Card Number只能讓輸入數(shù)字(中間的空格是格式自加的,也是用js實現(xiàn)的),有時候我腦海中出現(xiàn)了個聲音,啥玩意,加個type=number不就行了,事實發(fā)現(xiàn)圖樣圖森破了,先不說type=number后面會有個上下標(biāo)(雖然用css可干掉),但是這個類型是支持科學(xué)輸入法的,就是小數(shù)點和e這樣的是可以輸入的,于是乎只能用其他的方式了,后來想用檢索到輸入了非數(shù)字就干掉,但是這樣還是能輸入,想法被打回,于是乎最終采用了鍵盤輸入控制的辦法,其實很簡單,
代碼如下:
var isNumber=function(keyCode){ // 數(shù)字 if (keyCode >= 48 && keyCode <= 57) { return true; } // 小數(shù)字鍵盤 if (keyCode >= 96 && keyCode <= 105) { return true; } //tab Backspace, del, 左右方向鍵 if (keyCode == 9||keyCode == 8|| keyCode == 32 || keyCode == 46 || keyCode == 37 || keyCode == 39) { return true; } return false }
所謂鍵盤輸入控制就是根據(jù)鍵盤輸入的keycode來判斷輸入的是什么類型,即獲取按下的鍵盤按鍵Unicode值,鍵盤上每個按鍵對應(yīng)的keycode是固定的,網(wǎng)上有很多對照表,我這里就不貼上去了,每一次按鍵監(jiān)測到對應(yīng)的keycode然后對照是否合法,需要注意的是這里合法的不僅是數(shù)字,還有上下左右tab和空格方向鍵,不能禁用用戶的操作指令,怎么樣,看起來很簡單吧。
以上這篇javascript數(shù)字驗證的實例代碼(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jquery Autocomplete 結(jié)合asp.net使用要點
Jquery的Autocomplete是一個很好的智能提示插件,但是在實際使用過程中還是會遇到一些小問題.2010-10-10JavaScript使用focus()設(shè)置焦點失敗的解決方法
這篇文章主要介紹了JavaScript使用focus()設(shè)置焦點失敗的一個解決方法 ,需要的朋友可以參考下2014-09-09JavaScript高級程序設(shè)計 閱讀筆記(十四) js繼承機制的實現(xiàn)
繼承是面向?qū)ο笳Z言的必備特征,即一個類能夠重用另一個類的方法和屬性。在JavaScript中繼承方式的實現(xiàn)方式主要有以下五種:對象冒充、call()、apply()、原型鏈、混合方式2012-08-08微信小程序?qū)崿F(xiàn)頁面跳轉(zhuǎn)傳值以及獲取值的方法分析
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)頁面跳轉(zhuǎn)傳值以及獲取值的方法,結(jié)合實例形式總結(jié)分析了微信小程序頁面跳轉(zhuǎn)及傳值的常用操作技巧,需要的朋友可以參考下2017-12-12Bootstrap標(biāo)簽頁(Tab)插件切換echarts不顯示問題的解決
這篇文章主要給大家介紹了關(guān)于Bootstrap標(biāo)簽頁(Tab)插件切換echarts不顯示問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07微信小程序?qū)崿F(xiàn)modal彈出框遮罩層組件(可帶文本框)
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)modal彈出框遮罩層組件(可帶文本框)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12