Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Generate random characters and numbers in JavaScript?
Generating random characters and numbers is a common requirement in JavaScript applications. You can create random strings by combining characters from a predefined set using Math.random().
Setting Up Character Pool
First, define a string containing all possible characters you want to include:
var storedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
Basic Random String Generator
Here's a function that generates random strings of any specified length:
function generateRandomString(size) {
var generatedOutput = '';
var storedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var totalCharacterSize = storedCharacters.length;
for (var index = 0; index < size; index++) {
generatedOutput += storedCharacters.charAt(Math.floor(Math.random() * totalCharacterSize));
}
return generatedOutput;
}
console.log("3 characters:", generateRandomString(3));
console.log("8 characters:", generateRandomString(8));
console.log("12 characters:", generateRandomString(12));
3 characters: k7P 8 characters: mN9qR2aZ 12 characters: X8pL4vB9nK3m
Different Character Sets
You can customize the character pool based on your needs:
function generateWithDifferentSets() {
// Only numbers
var numbersOnly = '0123456789';
// Only lowercase letters
var lowercaseOnly = 'abcdefghijklmnopqrstuvwxyz';
// Only uppercase letters
var uppercaseOnly = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
// Custom set (excluding ambiguous characters)
var customSet = '23456789ABCDEFGHJKLMNPQRSTUVWXYZ';
function generate(charset, length) {
var result = '';
for (var i = 0; i < length; i++) {
result += charset.charAt(Math.floor(Math.random() * charset.length));
}
return result;
}
console.log("Numbers only:", generate(numbersOnly, 6));
console.log("Lowercase only:", generate(lowercaseOnly, 6));
console.log("Uppercase only:", generate(uppercaseOnly, 6));
console.log("Custom set:", generate(customSet, 6));
}
generateWithDifferentSets();
Numbers only: 847293 Lowercase only: xmkpqw Uppercase only: BHFXYZ Custom set: K9M7PQ
Modern ES6 Approach
Using modern JavaScript features for a cleaner implementation:
const generateRandomString = (length, charset = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') => {
return Array.from({length}, () => charset[Math.floor(Math.random() * charset.length)]).join('');
};
// Generate different lengths
console.log("5 chars:", generateRandomString(5));
console.log("10 chars:", generateRandomString(10));
// With custom charset
console.log("Hex string:", generateRandomString(8, '0123456789ABCDEF'));
5 chars: aB7xK 10 chars: mQ9pR4nL8v Hex string: 2F9A7C3B
Common Use Cases
| Use Case | Character Set | Typical Length |
|---|---|---|
| Session IDs | Alphanumeric | 16-32 characters |
| Verification Codes | Numbers only | 4-6 digits |
| Passwords | All characters + symbols | 8-16 characters |
| Hex Colors | 0-9, A-F | 6 characters |
Conclusion
Random string generation in JavaScript is straightforward using Math.random() with character pools. Choose your character set based on the intended use case, and always ensure sufficient length for security-critical applications.
Advertisements
