经常会用 JS 根据页面元素拼接成命令行语句用于生成实现的文件,而 Windows 文件名不允许使用的字符需要过滤到;
文件名不能包含下列任何字符:
\/:*?"<>|
(function () {
// \/:*?"<>|
// [\\|\/|:|\*|\?|"|<|>|\|]
let str = '1\\2/3:4*5?6"7<8>9|';
str = str.replace(/\\|\/|:|\*|\?|"|<|>|\|/g, "");
console.log(str);
// 123456789
})();
实际使用中,[\s&=#]
等字符也可能导致一些问题;