Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript regex (username validation)

I want to enforce that

  1. the input firstname should only contains characters A-Z, a-z, and -
  2. the input login name should only contains alphanumeric characters

How do I restrict the two rules in javascript?

Below is my code (jsp) for username regex. But it's not working properly.

function validateForm(){
    var nameRegex = /^[a-zA-Z\-]+$/;
    var validfirstUsername = document.frm.firstName.value.match(nameRegex);
    if(validUsername == null){
        alert("Your first name is not valid. Only characters A-Z, a-z and '-' are  acceptable.");
        document.frm.firstName.focus();
        return false;
    }
}

Thanks!

like image 901
horatio.mars Avatar asked Mar 09 '12 04:03

horatio.mars


People also ask

How do I validate a Javascript username?

1) Validate the username field The following checkUsername() function uses: The isRequired() function to check if the username is provided. The isBetween() function to check if the length of the username is between 3 and 25 characters. The showError() and showSuccess() functions to show the error and success indicator.

What is validate username?

Checks whether a username is valid.


1 Answers

The code you have looks fine, aside from the inconsistent variable reference (see the comment by Josh Purvis).

The following regex is fine for your first name spec:

var nameRegex = /^[a-zA-Z\-]+$/;

Adding digits for your username check is straightforward:

var usernameRegex = /^[a-zA-Z0-9]+$/;

Note: There are many ways to write regular expressions. I've chosen to provide a version that matches what you started with. I encourage you to work through this Regular Expression Tutorial

like image 86
Jason McCreary Avatar answered Oct 04 '22 03:10

Jason McCreary