做前端开发时,经常需要给表单添加临时ID,或者给上传的文件起唯一名。其实不用求后端,浏览器自带生成UUID的方法。
现代浏览器(Chrome 92+、Edge 92+、Firefox 95+)直接支持 crypto.randomUUID() 方法。你只需要写一行代码:
let id = crypto.randomUUID();
console.log(id); // 输出类似 36b8f84d-df4e-4d49-b662-bcde71a8764f
如果要在旧浏览器使用,可以用这个民间偏方:
function generateUUID() {
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);
});
}
这段代码已经在网上流传十几年,基本靠谱。在Node.js后端,也可以用 crypto.randomUUID() 直接生成。
如果你不想写代码,搜“在线UUID生成器”也能快速得到一批。前端自己生成ID,可以少发一次请求,用户体验更好。

