正则表达式转换为小写,剥离非alphanum并替换空白jQuery

时间:2018-05-04 04:03:17

标签: jquery regex

我拼凑了以下内容并且工作正常:

$('#url').val(filename.slice(0, -4).toLowerCase().replace(/[^\w\s]/gi, '').replace(/\s+/g, '-'));

但它太丑了。任何人都可以建议一种更清洁的方法吗?

发生了什么:

1)从fileinput

中删除文件名中的最后4个字符(.ext)

2)转换为小写

3)替换除空白

之外的所有非字母数字字符

4)用超级

替换空格

最终结果如下:my-wonderful-file

任何人都可以看起来像猪的耳朵吗?

2 个答案:

答案 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>