2011-01-28 101 views

回答

1

here

我們綁定到輸入變化再看看在當前的字符串。我們遍歷字符串並將任何字母字符追加到輸出變量並返回。

$("#textField").bind("input", function(event) { 
    var out = ""; 
    var str = this.value; 
    for (var i = 0; i < str.length; i++) { 
     if (/[A-Za-z]/.test(str.charAt(i))) { 
      out = out.concat(str.charAt(i));  
     } 
    } 
    this.value = out; 
}); 
+0

至少有四件事情是錯誤的:1.「keyup」是錯誤的事件(當按住一個鍵時,認爲按鍵重複)。 2.幻數65和90. 3.幻數是錯誤的(小寫?重音字符?)。 4.如果用戶右鍵單擊並從上下文菜單中選擇「粘貼」,則無法處理它,因爲絕大多數瀏覽器和操作系統都允許他們這樣做。 – 2011-01-28 11:14:44

+0

,除非你將文本粘貼到文本框中...... – 2011-01-28 11:15:16

3

jquery.inputmask是一個jquery插件,它創建一個輸入掩碼。這隻允許根據特定模式進行輸入。例如,日期,文字,數字等郵編

還有another (older) version

它允許用戶更容易地進入 固定寬度的輸入,你想 他們在進入數據某種 格式(日期,電話號碼等)。它已在Internet Explorer 6/7,Firefox 1.5/2/3,Safari,Opera, 和Chrome上進行了測試。掩碼由 格式定義,掩碼文字和 掩碼定義。任何不在 中的字符下面的定義列表是 被視爲掩碼字面量。掩碼 文字將自動爲用戶輸入 ,因爲他們鍵入的內容並不會被用戶移除 。