Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

273
Views
How to remove similar characters from an input tag in JS?

I am making a Signup form.

In that, I have a username field that should not allow the characters -, space, ", ' but I can't get that to happen.

I tried:- Slice method, substring method, regex, remove and split method and join technique.

So code:

function username(event) {
    text = document.getElementById('usname').value;
    key = event.key;
    if (key == ' ' || key == '"' || key == "'" || key == '-') {
        setTimeout(() => {
            let final = text.slice(0, -1);
            document.getElementById('usname').value = final';
        },0.005)
    }
}

This was my best approach was this but it removed two characters at once and if we spam space and then type a character, we get a space in the text which is invalid.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You can use regular expression [Regex]

This regex will accept only alphabets and numbers , and remove special characters and spaces.

function username(event) {
  text = document.getElementById('usname').value;
  document.getElementById('usname').value = text.replace(/[^a-zA-Z0-9\w]/g, "");
}
<input type="text" onkeyup="username()" id="usname" />

EDIT

[^a-zA-Z0-9\w] is the same as [^\w] or just \W. All will allow , so [^a-zA-Z0-9] or [\W] would be better. – MikeM

You are right my friend, this much better.

function username(event) {
  text = document.getElementById('usname').value;
  document.getElementById('usname').value = text.replace(/[\W_]/g, "");
}
<input type="text" onkeyup="username()" id="usname" />

EDIT

I don't want other symbols to be removed I just want these:- the dash(-), space, single and double quotes(',"). – Shaurya Shrimal

Add the symbols you want to remove in regex /[-'" ]/g

function username(event) {
  text = document.getElementById('usname').value;
  document.getElementById('usname').value = text.replace(/[-'" ]/g, "");
}
<input type="text" onkeyup="username()" id="usname" />

about 4 years ago · Juan Pablo Isaza Report

0

First of all, to give the best user experience to the user, you should inform the user with a hint text below the input box saying that these characters are not allowed.

It is recommended to have a validation on the input box, which will warn the user by highlighting the input box as red when the user inputs invalid characters, and not allowing to submit, rather than removing the characters from their entry without their knowledge.

For form validation, use a library like validator for detecting invalid characters. Example for validating username that should have only alpha numeric characters:

  validator.isAlphanumeric('fooBar123'); //=> true
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!