我正在jquery中使用以下功能来生成URL子弹
var text = $("#post_title").val();
var converted = text.toLowerCase().replace(/ /g,'-').replace(/[^\w-]+/g,'');
$("#post_slug").val(converted);
我想创建一个没有任何数值且没有其他-
(连字符)的合适的子段
上面的代码发生了如下情况
我正在使用以下标题来生成弹头
标题:top 5 ways to get in list
子弹:top-5-ways-to-get-in-list
我想避免数值太长,所以应该像下面这样
子弹:top-ways-to-get-in-list
如果还有特别是结尾的空格,那么该空格就会变成,我想避免使用任何-
不需要的连字符
子弹:top-ways-to-get-in-list-
我无法弄清楚代码中有什么问题。
答案 0 :(得分:1)
function generateSlug(text) {
return text.trim().toLowerCase()
.replace(/[0-9]+/g, '')
.replace(/ +/g, '-');
}
console.log(generateSlug('Top 5 ways to get in list'));
console.log(generateSlug('Top 5 ways to get in list5'));
console.log(generateSlug('Top 5 ways to get in list5 '));
console.log(generateSlug(' Top 5 ways to get in list '));
console.log(generateSlug(' Top 5 ways to get in list '));
答案 1 :(得分:0)
无论它是否具有功能,您都可以在任何JS代码上使用它
var Text = 'Faa fee foo fog my code has bug'
Text = Text.toLowerCase();
Text = Text.trim();
Text = Text.replace('/\s/g','-');
Text = Text.replace(/ +/g,'-');
只需在需要的地方使用文本