问题
I just want ask if how I will block special characters such as <,>,",/,etc. in html input field?
回答1:
You can use regex.
document.getElementById("input").onkeypress = function(e) {
/^[a-zA-Z0-9]+$/.test(this.value) // return true or false
};
<input type="text" id="input">
回答2:
You can explicitly state which characters you accept HTML input pattern Attribute
If you insist on blocking specific characters you can use the following:
document.getElementById("explicit-block-txt").onkeypress = function(e) {
var chr = String.fromCharCode(e.which);
if ("></\"".indexOf(chr) >= 0)
return false;
};
<input type='text' id='explicit-block-txt' value='' onpaste="return false"/>
回答3:
Why not use html5?
<input type="text" pattern="[^()/><\][\\\x22,;|]+">
来源:https://stackoverflow.com/questions/46747287/how-to-block-special-characters-in-html-input-field