2011-01-28 119 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上进行了测试。掩码由 格式定义,掩码文字和 掩码定义。任何不在 中的字符下面的定义列表是 被视为掩码字面量。掩码 文字将自动为用户输入 ,因为他们键入的内容并不会被用户移除 。