A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/username-validation-in-js-regex/ below:

JavaScript - Username Validation using Regex

JavaScript - Username Validation using Regex

Last Updated : 16 Jan, 2025

We are going to validate usernames in JavaScript. Username validation is a common requirement in user registration forms, ensuring that usernames meet the specific criteria

Simple Regular Expression-Based Validation

In this approach, we are using only simple regular expressions to validate usernames.

JavaScript
function validateUsername(username) {
    const pattern = /^[a-zA-Z][a-zA-Z0-9_]{2,15}$/;
    return pattern.test(username);
}


//Driver Code Starts
// Test cases
console.log(validateUsername("user123"));
console.log(validateUsername("_user"));  
console.log(validateUsername("u"));      
console.log(validateUsername("user_name123"));
console.log(validateUsername("user@name")); 
//Driver Code Ends

Output
true
false
false
true
false

In this example

Combined Logic for More Customization

In some cases, using only regular expressions might not be enough, especially if you have more complex validation rules.

JavaScript
function validateUsername(username) {
    if (username.length < 3) {
        return "Username is too short.";
    }
    if (username.length > 16) {
        return "Username is too long.";
    }

    // Regex to check valid characters: letters, numbers, dots, underscores
    const pattern = /^[a-zA-Z0-9._]+$/;
    if (!pattern.test(username)) {
        return "Username contains invalid characters. Only letters, numbers, dots, and underscores are allowed.";
    }

    // Check that it doesn't start or end with a dot or underscore
    if (username.startsWith('.') || username.startsWith('_')) {
        return "Username cannot start with a dot or underscore.";
    }
    if (username.endsWith('.') || username.endsWith('_')) {
        return "Username cannot end with a dot or underscore.";
    }

    return "Valid username.";
}


//Driver Code Starts
console.log(validateUsername("user.name"));
console.log(validateUsername(".username"));
console.log(validateUsername("username_"));
console.log(validateUsername("us"));
console.log(validateUsername("a_very_long_username_example"));
console.log(validateUsername("valid_user123"));
console.log(validateUsername("invalid#name"));
//Driver Code Ends

Output
Valid username.
Username cannot start with a dot or underscore.
Username cannot end with a dot or underscore.
Username is too short.
Username is too long.
Valid username.
Username contains invalid cha...


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4