一些常用的工具方法

搜集一些常用的工具方法

完美的 Windows 文件名校验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
export const isStrictWindowsFileName = (name: string): string | true => {
// 1. 检查非法字符
if (/[\\/:*?"<>|]/.test(name)) {
return '名称不能包含 \\ / : * ? " < > |';
}

// 2. 检查控制字符 (0-31)
// eslint-disable-next-line no-control-regex
if (/[\x00-\x1f]/.test(name)) {
return '名称不能包含控制字符';
}

// 3. 检查保留字 (CON, PRN, AUX, NUL, COM1-9, LPT1-9)
const reserved = /^(con|prn|aux|nul|com\d|lpt\d)$/i;
if (reserved.test(name)) {
return '此名称是系统保留字,不允许使用';
}

// 4. 检查结尾的点或空格
if (/[. ]$/.test(name)) {
return '名称不能以空格或点结尾';
}

return true; // 通过
};

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器