文本輸入框input將輸入轉換爲統一大小寫

文本輸入框input將輸入轉換爲統一大小寫,通常有兩種方法:JS和CSS方法。

  1. JS方式,通過監控key事件來做到。
    key事件有三種

    • keydown event
    • keypress event
    • keyup event

KeyDown觸發後,不一定觸發KeyUp,當KeyDown 按下後,拖動鼠標,那麼將不會觸發KeyUp事件。
2.KeyPress主要用來捕獲數字(注意:包括Shift+數字的符號)、字母(注意:包括大小寫)、小鍵盤等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜單鍵}、{開始鍵}和方向鍵外的ANSI字符
3.KeyDown 和KeyUp 通常可以捕獲鍵盤除了PrScrn所有按鍵(這裏不討論特殊鍵盤的特殊鍵)
4.KeyPress 只能捕獲單個字符
5.KeyDown 和KeyUp 可以捕獲組合鍵。
6.KeyPress 可以捕獲單個字符的大小寫
7.KeyDown和KeyUp 對於單個字符捕獲的KeyValue 都是一個值,也就是不能判斷單個字符的大小寫。
8.KeyPress 不區分小鍵盤和主鍵盤的數字字符。
9.KeyDown 和KeyUp 區分小鍵盤和主鍵盤的數字字符。
10.其中PrScrn 按鍵KeyPress、KeyDown和KeyUp 都不能捕獲。
11.在使用鍵盤的時候,通常會使用到CTRL+SHIFT+ALT 類似的組合鍵功能。對於此,我們如何來判定?
通過KeyUp 事件能夠來處理(這裏說明一下爲什麼不用KeyDown,因爲在判定KeyDown的時候,CTRL、SHIFT和ALT 屬於一直按下狀態,然後再加另外一個鍵是不能準確捕獲組合鍵,所以使用KeyDown 是不能準確判斷出的,要通過KeyUp 事件來判定 )
12.捕獲PrScrn按鍵事件
通過一種鉤子的方式可以判定PrScrn 按鍵事件,鉤子可以獲取任何鍵盤事件


大小寫轉換樣例:

<input name="htmer" type="text" onkeyup="this.value=this.value.toUpperCase()" /> 

注:採用js方式還是會有轉換過程的體現。如輸入a,會先顯示a然後觸發keyup事件後,將a轉換爲A
2. CSS通過設置input輸入框的style來實現。

  • text-transform: uppercase /轉爲大寫/
  • text-transform: lowercase /轉爲小寫/
  • text-transform: capitalize /單詞首字母轉爲大寫/
    使用樣例:
<input type="text" style="*********; text-transform: uppercase;" name="textfield" />


參考:http://www.cnblogs.com/manongxiaobing/archive/2012/11/05/2755412.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章