-
-
Save 6174/6062387 to your computer and use it in GitHub Desktop.
//http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript | |
Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); |
Nice!
Nice and shortest.
Silly oneliners:
[a-zA-Z0-9]:
for(var a = ''; a.length < 40;) a += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"[(Math.random() * 60) | 0]
[0-z]
String.fromCharCode.apply(0, Array(40).fill(0).map(() => Math.random() * 74 + 42) | 0)
[0-9a-z]
for(var a = '', b = 36; a.length < 40;) a += (Math.random() * b | 0).toString(b)
[0-9A-Z]
for(var a = ''; r = Math.random() * 42, a.length < 40;) a += r < 10 || r > 16 ? String.fromCharCode(48 + r | 0) : ''
Using crypto: crypto.randomBytes(32).toString('base64')
, adjust the parameter to randomBytes
for the length you need.
Perfect, thank you!
nice
[...Array(10)].map(i=>(~~(Math.random()*36)).toString(36)).join('')
this is a little better, you can specify any length 💪
where is the i
being used? better off providing an empty function like this?
const randomString = (length) => [ ...Array(length) ].map(() => (~~(Math.random() * 36)).toString(36)).join('');
console.log(randomString(14));
that's good, thanks😊
So simple, so useful.
thank you so much 👍
Thank you
Array.from({length:10}, () => String.fromCharCode(String(parseInt(65 + Math.random() * (122 - 65))).replace(/9[1-6]/,'90'))).join('')
Is there any simple way to generate string without numbers in it?
Is there any simple way to generate string without numbers in it?
const randcharset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
const randchars = (function (R,M) {
var L = R.length,r=M.random, f= M.floor;
return function (len) {
var i,s="";
for (i=0;i<len;i++) s += R[f(r() * L)];
return s;
};
})(randcharset.split(''),Math);
for example
document.write("hello:"+randchars(4));
"doadiahdoiawd"
Of course you would have to type sporadically every time but I believe this is the fastest performing solution.
// only printable
Array(8).fill().map(_ => String.fromCharCode(33 + Math.random() * (127 - 33))).join('')
Noice. 👌 Thanks!!
Awesome!!!
Pretty cool!
Brilliant!
This is my version. Generate random string with numbers, lower and upper case.
const randomString=length=>Math.random().toString(36).substr(2,length).split("").map(e=>Math.random()<Math.random()?e.toUpperCase():e).join().replaceAll(",","");
console.log(randomString(10)); //8itPVoPBdU
Using recursion with the option of providing a prefix.
function randomStr(minLength = 0, acc = '') {
if (acc.length <= minLength) {
const str = Math.random().toString(36).slice(2);
return randomStr(minLength, acc.concat(str))
}
return acc.slice(0, minLength);
}
randomStr(10) // => 'fvaj2hm2na'
randomStr(30, 'https://short.codes/') // => 'https://short.codes/jtmx66qr06'
const idString = async (string_length) => {
var random_str = "";
var characters =
"ABCDEFGHIJKLMNOPQRSTUVWXYZqeytrpolkadjsghfgmnbzxcvnQPOWEYRKASJHDGFMNBCVX--___-_jsfhrlg-_124903564576986483658fgh4sdfh687e4h897WETHJ68F7G4688471877GFHJFFGJ87469857468746hfghwrtiyj4598yhdjkhgnk";
for (let index = 0; index < string_length; index++) {
random_str += characters.charAt(
Math.floor(Math.random() * characters.length)
);
}
let string = `${random_str}`;
console.log(string);
return string;
};
@zeelkakdiya constructive feedback to improve this code:
- This is not an async function, it does not use promises
- var is used rather than
let
and in some casesconst
are more appropriate let string
does not need${}
- console.log is not useful in production code and actually slows down this function
- let string to return could be removed.
- casing is inconsistent
const generateID = (stringLength = 20) => {
let randomStr = "";
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZqeytrpolkadjsghfgmnbzxcvnQPOWEYRKASJHDGFMNBCVX--___-_jsfhrlg-_124903564576986483658fgh4sdfh687e4h897WETHJ68F7G4688471877GFHJFFGJ87469857468746hfghwrtiyj4598yhdjkhgnk";
for (let index = 0; index < stringLength; index++) {
randomStr += characters.charAt(
Math.floor(Math.random() * characters.length)
);
}
return randomStr;
};
@tbanik really good