2015-09-03 92 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