我在这里写了这段代码:
var title = "This is my comment for my title";
title.replace(/['"`!#()_:\/\.\?]|&[^;]+;/g, '').substring(0, 20);
这会给我前20个字符,但我想找到最近的空格并替换为...
我该怎么做?
JQuery的新手
现在它返回此... This is my comment f
,我想返回This is my comment...
我尝试添加此代码:
title = title.substr(title.indexOf(" ")) + "...";
但它从我的变量中删除了This
。
答案 0 :(得分:2)
答案 1 :(得分:1)
如果前20个字符中没有空格,我不知道你打算做什么,但这是一个可能的解决方案:
var result;
if(title.indexOf(" ") > 20){
// no space in the first 20 characters
}else{
result = title.substring(0, title.substring(0,20).lastIndexOf(" ")) + "...";
}
答案 2 :(得分:0)
使用此:(我在此代码中没有使用过jQuery)
var arr = title.replace(/['"`!#()_:\/\.\?]|&[^;]+;/g, '').substring(0, 20).split(" ");
arr.splice(arr.length - 1, 1);
var message = arr.join(" ") + "..."; //the message variable is the string with '...'