2015-09-03 60 views
0

我想禁用所有符号输入到与下列不相关的输入字段中:字母,数字或空格或符号符号或句号。禁用输入字段中的符号和非字母

E.g.允许:A-Z,a-z,0-9,&,...和空格是允许的。

不允许:每个其他角色例如! @#$%^ *() - + = []; :“”<>/| =`〜等

<input id="ItemName" type="text" /> 
+0

到目前为止你已经尝试了什么(http://mattgemmell.com/what-have-you-tried/)? – nnnnnn

+1

是HTML5还行吗?如果是这样,你可以使用'pattern'属性并给出一个简单的正则表达式。类似于'pattern =“[A-Za-z0-9&。] *”' – dman2306

回答

1

您可以注册一个按键事件处理程序,如果你不回假的? “喜欢” 的新的输入:

$('#ItemName').keypress(function (e) { 
    var txt = String.fromCharCode(e.which); 
    if (!txt.match(/[A-Za-z0-9&. ]/)) { 
     return false; 
    } 
}); 

的jsfiddle:http://jsfiddle.net/cgx1yqyf/

注意,这种解决方案需要的JQuery

+0

这只是一个部分解决方案。如果我将文本粘贴或拖动到文本框中,'keypress'不会触发。 – dman2306

+0

这不会给出'未捕获的ReferenceError:$未定义'吗? – nnnnnn

+0

@nnnnnn这个特定的解决方案需要JQuery库,请注意,如dman2306所述,此解决方案不包含粘贴场景 – Black0ut