在JavaScript中生成一个随机的字母数字(大写,小写和数字)字符串来用作可能唯一的标识符的最短方法是什么?
当前回答
很好,很简单,而且不局限于一定数量的字符:
let len = 20, str = "";
while(str.length < len) str += Math.random().toString(36).substr(2);
str = str.substr(0, len);
其他回答
这样更干净
Math.random().toString(36).substr(2, length)
例子
Math.random().toString(36).substr(2, 5)
使用lodash:
生物多样性功能(length) var chars =“不可能” 瓦尔pwd = _sampleSize (chars,长度正好| | 12)/ lodash v4:用_ sampleSize。 pwd归来加入(“”)。 的 文件写(createRandomString(8)。 <剧本剧本src = " https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js " > < / >
beans建议的另一种答案变体
(Math.random()*1e32).toString(36)
通过改变乘数1e32,你可以改变随机字符串的长度。
很好,很简单,而且不局限于一定数量的字符:
let len = 20, str = "";
while(str.length < len) str += Math.random().toString(36).substr(2);
str = str.substr(0, len);
使用md5库:https://github.com/blueimp/JavaScript-MD5
最短的方法:
md5(随机数学。()
如果你想限制大小为5:
md5 (math . random())。substr (0, 5)