function randomString(length, chars) {
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)];
return result;
}
var rString = randomString(32, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
我剛剛發現這是一個非常好的和優雅的解決方案:
此實作的註解:
Math.random()
,因此輸出可能是可預測的,因此不一定是唯一的。如果您只想允許特定字符,您也可以這樣做:
這裡有一個 jsfiddle 來示範:http://jsfiddle.net/wSQBx/
另一種方法是使用一個特殊的字串來告訴函數要使用什麼類型的字元。你可以這樣做:
小提琴:http://jsfiddle.net/wSQBx/2/
#或者,若要使用如下所述的 base36 方法,您可以執行下列操作: