jQuery将字符串转换为url替换括号斜杠和破折号

时间:2017-03-21 16:34:20

标签: jquery

有人可以帮我把这个字符串替换成所需的网址链接吗?

1080 Center - (previously) Old/New

1080-center-previously-old-new

2 个答案:

答案 0 :(得分:1)

这将解决你的一个例子(正则表达式从Rails' parameterize method无耻地被盗:

"1080 Center - (previously)".toLowerCase().replace(/[^a-z0-9\-_]+/g, "-").replace(/-{2,}/, "-").replace(/^-|-$/, '');

但是如果没有更多的示例输入和输出,很难想出一个通用的解决方案。

话虽这么说,如果你想出一个你想要完成的事情的精确规范,你可能会有更轻松的时间。例如,起初看起来规则可能是“用破折号替换所有非单词字符”,但这会将Center - (previously)变为center----previously-,这不是您想要的。另一方面,您不能只删除空格,因为这会失去1080Center之间的分隔。

答案 1 :(得分:0)

要实现此目的,您可以使用正则表达式将任何非单词字符替换为-。试试这个:



var input = '1080 Center - (previously) Old/New';
var output = input.replace(/\W+/g, '-').toLowerCase();

console.log(output);