Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换文件名中的错误字符_Javascript_Node.js - Fatal编程技术网

Javascript 替换文件名中的错误字符

Javascript 替换文件名中的错误字符,javascript,node.js,Javascript,Node.js,我有一个字符串,比如: “什么|另一件事/另一件事” 但我需要删除文件名中不能包含的所有字符(如|或/),因为我需要使用node保存带有该字符串的文件 这里真正的问题是我无法预测这根弦是怎么来的。我尝试使用在internet上找到的一些正则表达式,但没有成功。文件名或文件系统路径中哪些字符是(或不是)合法字符完全取决于您的操作系统和底层文件系统 假设您知道不允许的字符集,它应该像下面这样简单: 函数清除文件名{ 返回s.replace(/[此处不允许的字符集]/g',); } 或者,你可以变得

我有一个字符串,比如:

“什么|另一件事/另一件事”

但我需要删除文件名中不能包含的所有字符(如|或/),因为我需要使用node保存带有该字符串的文件

这里真正的问题是我无法预测这根弦是怎么来的。我尝试使用在internet上找到的一些正则表达式,但没有成功。

文件名或文件系统路径中哪些字符是(或不是)合法字符完全取决于您的操作系统和底层文件系统

假设您知道不允许的字符集,它应该像下面这样简单:

函数清除文件名{
返回s.replace(/[此处不允许的字符集]/g',);
}
或者,你可以变得更为时尚,做一些类似的事情:

函数清除文件名{
返回s.replace(/[此处不允许的字符集]/g,'-')
.替换(/-+/g,“-”);
}
因此,如果您的一组不允许的字符包含下面的标点符号,那么上面的字符将改变这一点

abc!/~dev\|/foo
进入

正如所建议的,您可以使用一些库来创建一个有效的URI,在这种情况下,您可以完成这项工作


祝你玩得愉快。

@MuhammadOvi谢谢你的回答,它成功了!另见
abc-dev-foo