2014-02-25 154 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; 
});