js 處理input元素為數字

2021-07-15 10:42:38 字數 1735 閱讀 8000

在js中,var x = event.keycode; (數字,表示 unicode 字元**或 unicode 鍵**)

keycode 屬性返回onkeypress事件觸發的鍵的值的字元**,或者 onkeydown或 onkeyup事件的鍵的**。

兩種**型別的區別是:

兩種型別的值不是都相等的,例如小寫字元 "w" 和大寫字元 "w" 有相同的鍵盤**,因為他們他們鍵盤上 ( "w" **為 "87"),但是它們有不同的字元**,兩個字元輸出是不一樣的( "w" 和 "w" 字元**為 "119" 和 "87")

在 firefox 中,, keycode 屬性在 onkeypress 事件中是無效的 (返回 0)。瀏覽器相容問題,可以一起使用 which和 keycode 屬性來解決:

var x = event.which || event.keycode;  // 使用whichkeycode, 這樣可支援不同瀏覽器

例項**

var $pageindex = $("input.page-number");

// 頁碼輸入

$pageindex.keypress(function(event)

//0 ~ 9

if(event.keycode < 48 || event.keycode >57)else

return true;

} });

// 頁碼輸入

$pageindex.keyup(function()else if(parseint(value)<=0)

if(parseint(value) > parseint(total))

});

其他的參考

字母和數字鍵的鍵碼值(keycode)

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼

按鍵鍵碼a65

j74s83

149b66

k75t84

250c67

l76u85

351d68

m77v86

452e69

n78w87

553f70

o79x88

654g71

p80y89

755h72

q81z90

856i73

r82048

957

按下鍵盤時會觸發鍵盤事件,次序為keydown -> keypress ->keyup。

1、keydown、keypress事件觸發在文字還沒敲進文字框,這時如果在keydown、keypress事件中輸出文字框中的文字,得到的是觸發鍵盤事件前的文字,而keyup事件觸發時全部鍵盤事件的操作已完成,獲得的是觸發鍵盤事件後的文字

2、在keyup事件中沒法阻止瀏覽器默許事件,因為在keypress時,瀏覽器默許行為已完成,即將文字輸入文字框(儘管這時還沒顯示),這個時候不論是preventdefault還是return false,都不能阻止在文字框中輸入文字的行為,如要阻止在文字框中輸入文字,必須在keydown或keypress時阻止

3、keypress事件與keydown和keyup的主要區別

1)對中文輸入法支撐欠好,沒法響應中文輸入

2)沒法響應系統功能鍵(如delete,backspace)

3)由於前面兩個制約,keycode與keydown和keyup不是很適中

js判斷input為空校驗

突然發現最近js發現的問題比較多,更發現我怎麼快成了前端開發了?不能夠啊!我後台怎麼不出問題呢?我的後台是太簡單了嗎?mybatis dao service controller返回給前台.哎,說說怎麼用id做文字框校驗吧!申明乙個陣列,存放你需要校驗的id var idarr total loan...

JS控制input僅能輸入數字

最近碰到這樣的問題,需要控制文字框中輸入指定格式的數字,今天和大家分享其中一種方法。效果 僅能輸入0 100以內的一位小數,輸入有誤將提示並清空輸入框。一 利用滑鼠移除事件,正則校驗進行控制,方法如下 input type text id num onblur var reg d 1 9 d d 1...

JS數字處理

在前端開發的過程中經常會遇到做一些數字處理 比如js精度問題等等 以下是我的一些總結。有一些資料金額比較大,需要每隔三個數字打乙個逗號。如下 處理數字 打逗號 param str export const handalnumber str g,1,replace split reverse join...