2014-02-25 167 views
2

基本上,当我输入时,它不会允许它。 我想添加更多像<>/\ etc我该怎么做?从输入表格删除HTML标签输入

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


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

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

+0

正是ü要问什么?请清除您的问题 –

+0

基本上它是一种注册表单,它需要在提交时删除html标签等,但这样做比较容易。 – MBell86

回答

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

另一种解决方案,既可以使用正则表达式 XMLParser的使用或JSON解析器方法。

+0

为什么downvote?它在jsfiddle上工作......令人厌恶的 –

+0

它确实有效,时间太长,我从来没有投过票。无论如何,我现在投了票,谢谢! – MBell86

+0

不用担心朋友,使用REgEx,做到这一点,最简单和简单 –

4

如果你有不允许的字符的列表,你可以禁止他们以这种方式:

$("#in1").keypress(function (evt) { 
    return [',', '<', '>', ].indexOf(String.fromCharCode(evt.which)) === -1; 
}); 
0

试试这个,如果你,如果你想这样的事情
只需要字母

$("#in1").keypress(function (evt) { 
    var expr = /^([a-zA-Z\s]+)$/i; 
    if (!String.fromCharCode(evt.which).match(expr)) 
     return false; 
}); 
1

<input type="text">===>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/

0
var chars = new Array("<", ">" ,"/" ,"\\"); 
$("#in1").keypress(function (evt) { 
    if(!(chars.indexOf(String.fromCharCode(evt.which)) > -1)) 
     return false; 
});