There are so many ways to generate random strings in JavaScript and it doesn't really matter which method is faster.
The method I like using most is Math.random()
I made a video on it:
Basically the idea is to use Math.random()
, then you can convert it to string and do some simple string manipulation on it.
To get random numbers, I would use something like below:
Math.ceil(Math.random()*10000)
To get random strings with numbers only, I would use:
Math.random().toString().substr(2, 5)
Fortunate .toString()
has a param called radix
that you can pass in numbers between 2 - 36
which will cast the generated numbers to the radix characters that fall between the given number. The radix
is also known as base
and its for representing numeric values
To get a random number between 0-1:
Math.random().toString(2).substr(2, 5)
To get a random number between 0-5:
Math.random().toString(5).substr(2, 5)
Starting from 11/12, it will start introducing letters. So to get a fully random string:
Math.random().toString(20).substr(2, 6)
With this you can now write your awesome random string generator:
const generateRandomString = function(){
return Math.random().toString(20).substr(2, 6)
}
To be able to change the length of the output:
const generateRandomString = function(length=6){
return Math.random().toString(20).substr(2, length)
}
One liner
const generateRandomString = (length=6)=>Math.random().toString(20).substr(2, 6)
That's all.
If you know of any other faster ways, please I would love to see it in the comment section.
Thanks