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
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
true false false true false
In this example
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
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