Math.random()

使用 Math.random() 函数生成随机数并转换为字符串,然后使用 substr() 函数截取字符串的一部分作为 ID:

1
2
3
4
function generateRandomId() {
var id = Math.random().toString(36).substr(2, 10);
return id;
}

Date.now()

使用 Date.now() 函数获取当前时间戳,并将其转换为字符串作为 ID:

1
2
3
4
function generateTimestampId() {
var id = Date.now().toString();
return id;
}

UUID

生成符合 UUID(通用唯一标识符)标准的随机 ID:

1
2
3
4
5
6
7
function createUUID() {
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);
});
}

这个方法是用于生成符合 UUID(通用唯一标识符)标准的随机 ID,它将生成一个包含 32 个字符和 4 个“-”的字符串,其中字符由数字和字母 a-f 组成。这种 ID 具有极高的唯一性和随机性,适用于需要高度标识性的场景,如数据库记录、文件名、会话 ID 等。
这个方法的实现基于正则表达式和匿名函数,正则表达式用于匹配字符串中的每个“x”或“y”,然后匿名函数根据“x”或“y”的值生成相应的字符,并将其替换回原始字符串中。其中,“x”生成 0-15 之间的随机数,“y”生成 8、9、a 或 b 中的一个随机数,最后将生成的字符转换为 16 进制字符串返回。
这种方法是一种有效的生成 UUID 的方式,并且可以在大多数现代浏览器和服务器端 JavaScript 运行环境中使用。如果您需要一个符合标准的 UUID,这个方法是一个不错的选择。

UUID 插件

使用 UUID(通用唯一标识符)库生成随机 ID,需要先将该库导入到 JavaScript 中:

1
2
3
4
5
6
import { v4 as uuidv4 } from 'uuid';

function generateUuid() {
var id = uuidv4();
return id;
}

这些方法都可以生成随机的、不重复的字符串作为 ID,选择哪种方法取决于具体需求。推荐第三种方法,以及第四种使用 UUID 库生成的 ID ,因为它们具有高度的唯一性和随机性,并且可以避免与其他 ID 发生冲突。