3

I just want ask if how I will block special characters such as <,>,",/,etc. in html input field?

2
  • 3
    By "block" do you mean not allowed to be typed in? What about pasting text? Commented Oct 14, 2017 at 17:18
  • For what purpose? Are you trying to prevent the user from using HTML? Commented Oct 15, 2017 at 3:34

3 Answers 3

7

Why not use html5?

<input type="text" pattern="[^()/><\][\\\x22,;|]+">
Sign up to request clarification or add additional context in comments.

1 Comment

This way must to use in a form.
4

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">

1 Comment

It is not blocking. pattern is for validation only
4

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"/>

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.