我整理了以下内容,并且工作正常:

$('#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))
);

07-25 23:45
查看更多