AndrewLeonardi
AndrewLeonardi

Reputation: 3512

Check for Space character in input with Jquery

I have a form where a user will set up a new Username. The issue is user's have been creating username's with a space and I want to avoid that.

I have been able to detect when there is a space using the following:

var hasSpace = $('#usernameValue').val().indexOf(' ')>=0;

However I cannot figure out to have the form check for that space when the user is typing in that input section.

How would I change my code to do this?

Thank you!

Upvotes: 1

Views: 2423

Answers (3)

Bergur
Bergur

Reputation: 4057

As suggested you can use the keyup function. This example checks if you entered space and alerts the user

$('#usernameValue').keyup(function(e) {   
   if (e.which === 32)  {
     alert('you entered space');
     // Do whatever logic is needed here
   }
});

Working JsFiddle

Upvotes: 2

user3502626
user3502626

Reputation: 838

Using onkeyup event.

input.onkeyup = function(){
   var hasSpace = $('#usernameValue').val().indexOf(' ')>=0;
}

Upvotes: 0

Eduardo Melo
Eduardo Melo

Reputation: 519

Are you using an input tag?

If so, you can use the pattern attribute to define a regular expression that doesn't accept whitespaces. For example:

    <input type="text" name="username" pattern="/^\S*$/">

For more information: https://www.w3schools.com/tags/att_input_pattern.asp.

Upvotes: 0

Related Questions