尝试用连字符替换任何非字母数字字符.看不出为什么它不应该工作.它返回原始字符串不变.
item.mimetype = "image/png";
var mimetype = item.mimetype.toLowerCase().replace("/[^a-z0-9]/g",'-');
Run Code Online (Sandbox Code Playgroud)
删除正则表达式周围的引号.
如上所述,Javascript正在寻找字符串 "/[^a-z0-9]/g"
// This works
"image/png".toLowerCase().replace(/[^a-z0-9]/g,'-');
// And if writing unquoted regular expressions makes you feel icky:
"image/png".toLowerCase().replace(new RegExp("[^a-z0-9]", "g"), '-');
// And if I might do a full rewrite:
"image/png".toLowerCase().replace(/\W/g, '-');
Run Code Online (Sandbox Code Playgroud)
更多这里