[英]How can I strip all non-letters from string and convert spaces to dashes in javascript?
这个简单的正则表达式让我感到困扰。 你能伸出援手吗?
如何获得Foo's Bar
返回JavaScript中的foos-bar
?
var str = "Foo's Bar";
str.replace(/\s+/g, '-').replace('/[^a-zA-Z-]/g', '').toLowerCase();
return str;
我能做的最好的就是foo's-bar
,离开'
。
谢谢。
Esailija很有用-您的正则表达式是正确的,但是第二个正则表达式被解释为字符串,因为它用引号引起来。 修复该问题后,您的代码可以完美运行:
str.replace(/\s+/g, '-').replace(/[^a-zA-Z-]/g, '').toLowerCase();
您可以尝试颠倒顺序并通常避免使用单词和空格字符
str.replace(/[^\w\s]+/g,'').replace(/\s+/g,"-").toLowerCase()
您的代码中有两个问题:
replace
第一个参数) str
str = str.replace(/\s+/g, '-').replace(/[^a-zA-Z-]/g, '').toLowerCase();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.