我用這個正則表達式[\d\w#,()."\/\-\s]
允許字母數字和# , . () _ -/"
唯一鍵碼。正則表達式與JavaScript
但是當我用鍵碼嘗試它時,它允許%
和單引號('
)這是爲什麼?
這裏就是我想現在。 http://jsfiddle.net/Fn9cy/78/
我用這個正則表達式[\d\w#,()."\/\-\s]
允許字母數字和# , . () _ -/"
唯一鍵碼。正則表達式與JavaScript
但是當我用鍵碼嘗試它時,它允許%
和單引號('
)這是爲什麼?
這裏就是我想現在。 http://jsfiddle.net/Fn9cy/78/
很簡單,因爲%的鍵碼是37
。就像左箭頭按鈕一樣,它也是鍵碼37
。非ACSII密鑰的虛擬鍵碼與ASCII碼重疊。
使用此
(event.keyCode == 37 && key != '%') || (event.keyCode == 39 && key != '\'')
而不是
event.keyCode == 37 || event.keyCode == 39
@if我刪除了這個,在Mozilla左箭頭沒有運作。 – user3318208
也,如果我只是刪除event.keyCode == 37單引號怎麼樣? -_- – user3318208
然後使用這個'(event.keyCode == 37 && key!='%')'而不是'event.keyCode == 37' – 2014-03-13 09:15:48
添加例外keyCode = 37
使用String.fromCharCode(event.keyCode)
if (String.fromCharCode(event.keyCode) !== '%' &&
(event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || englishAlphabetAndWhiteSpace.test(key)))
如何對單引號? – user3318208
@ user3318208的相同''%'一樣使用String.fromCharCode(event.keyCode)!== 「」「'檢查此[小提琴](http://jsfiddle.net/praveen_jegan/Fn9cy/81/) – Praveen
的問題是,在Mozilla左箭頭和右箭頭不起作用 – user3318208
什麼SH我該怎麼辦?我需要向左箭頭才能起作用 – user3318208
@ user3318208我想最簡單的解決方案是檢查在檢查箭頭時是否沒有使用修飾鍵(因爲總是按'shift'來按'%')。 – gpgekko