好吧,基本上当我输入时,它不会允许它。 我想添加更多像< > / \ etc我该怎么做?
$("#in1").keypress(function (evt) {
if (String.fromCharCode(evt.which) == ",")
return false;
});
<input type="text" id="in1">
可以在这里看到演示。 http://jsfiddle.net/QshDd/38/
答案 0 :(得分:4)
如果你有一个不允许的字符列表,你可以这种方式禁止它们:
$("#in1").keypress(function (evt) {
return [',', '<', '>', ].indexOf(String.fromCharCode(evt.which)) === -1;
});
答案 1 :(得分:2)
它的工作,你需要提供更多的条件:
$("#in1").keypress(function (evt) {
if (String.fromCharCode(evt.which) == ",")
return false;
if (String.fromCharCode(evt.which) == "<")
return false;
if (String.fromCharCode(evt.which) == ">")
return false;
if (String.fromCharCode(evt.which) == "\\")
return false;
});
另一种解决方案,使用 regEx 或使用XMLParser或JSON解析器方法。
答案 2 :(得分:1)
如果你想要这样的东西
<input type="text">
===&gt; input typetext
$("#in1").keypress(function (evt) {
if (isValid(String.fromCharCode(evt.which)))
return false;
});
function isValid(str){
return /[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(str);
}
答案 3 :(得分:0)
如果您只需要字母
,请尝试此操作$("#in1").keypress(function (evt) {
var expr = /^([a-zA-Z\s]+)$/i;
if (!String.fromCharCode(evt.which).match(expr))
return false;
});
答案 4 :(得分:0)
var chars = new Array("<", ">" ,"/" ,"\\");
$("#in1").keypress(function (evt) {
if(!(chars.indexOf(String.fromCharCode(evt.which)) > -1))
return false;
});