我拼凑了以下内容并且工作正常:
$('#url').val(filename.slice(0, -4).toLowerCase().replace(/[^\w\s]/gi, '').replace(/\s+/g, '-'));
但它太丑了。任何人都可以建议一种更清洁的方法吗?
发生了什么:
1)从fileinput
中删除文件名中的最后4个字符(.ext)2)转换为小写
3)替换除空白
之外的所有非字母数字字符4)用超级
替换空格最终结果如下:my-wonderful-file
任何人都可以看起来像猪的耳朵吗?
答案 0 :(得分:1)
看起来您想要从文件名创建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))
);
答案 1 :(得分:-1)
Replace all non-alphanumeric characters with whitespace
<script>
function numericFilter() {
var demoString = "(7564)-//[hellow467%6]-jdjd@4F%&k";
var regex = /\W/g;
var replacedString = demoString.replace(regex, " ");
var str = replacedString;
var replaced = str.split(' ').join('+');
document.write("The Original String was : " + demoString);
document.write("<br>The replaced String : " + replaced);
}
</script>
<Ajax:ToolkitScriptManager runat="server" ID="ToolkitScriptManager1">
</Ajax:ToolkitScriptManager>
<input type="text" id="txb" onkeypress="javascript:return numericFilter()" />
</asp:Content>