我整理了以下内容,并且工作正常:
$('#url').val(filename.slice(0, -4).toLowerCase().replace(/[^\w\s]/gi, '').replace(/\s+/g, '-'));
但这太丑了。有人可以建议一种更清洁的方法吗?
发生了什么 :
1)从文件输入中删除文件名中的最后4个字符(.ext)
2)转换为小写
3)替换除空格以外的所有非字母数字字符
4)用连字符替换空格
最终结果类似于:
my-wonderful-file
有人能使它看起来不像猪的耳朵吗?
最佳答案
看来您想从文件名创建slug。这是一个很好的可重用函数。
function slugify(s) {
s = s.replace(/[^\w\s-]/g, '').trim().toLowerCase();
s = s.replace(/[-\s]+/g, '-');
return s;
}
console.log(
slugify("Filenam §4.ext".slice(0, -4))
);