从输入表单中删除HTML TAG输入

时间:2014-02-25 11:03:40

标签: javascript jquery html input keypress

好吧,基本上当我输入时,它不会允许它。 我想添加更多像< > / \ etc我该怎么做?

$("#in1").keypress(function (evt) {
    if (String.fromCharCode(evt.which) == ",")
        return false;
});


<input type="text" id="in1">

可以在这里看到演示。 http://jsfiddle.net/QshDd/38/

5 个答案:

答案 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);
    }

http://jsfiddle.net/QshDd/61/

答案 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;
});