JavaScriptでユーザIDなどに使える固有の文字列を作成する方法(一意なID、ユニークID)

JavaScriptを使ってユーザIDなどに使えるユニークな文字列を作成する方法を知ったのでメモしておきます。

var userId = function() {
	return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
		var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
		return v.toString(16);
	});
};

これを10回ループした結果が以下です。


ユニークな文字列の作成はユーザIDなどで使用するケースが多いのでPHPなどのサーバーサイドで行うことが大半ですが、「Web Storage」が普及してくればJsで作る機会も今後は増えそうな気がしますね。