说我有字符串text =“这是一个很长的字符串我不能显示”我想将它修剪为10个字符,但如果它没有以空格结束这个词我不希望字符串变量看起来像这样“这是一个很长的字符串,我不能说”我希望它完成这个词直到空格出现。我正在尝试这是其他人建议但是.replace似乎没有工作,但.length呢?我在某处读到javascript函数在jquery函数中不起作用,但我仍然不明白为什么.length工作
$(document).ready(function(){
$('.article').each(function(index){
var text = $(this).children('p').text()
var maxLength = 6;
var url = $(this).find('.article-link').attr('href');
alert(text.replace(/^(.{1}[^\s]*).*/, "$1"));
var trimmedString = text.substr(0, maxLength);
var text = trimmedString.substr(0, Math.min(trimmedString.length, trimmedString.lastIndexOf(" ")));
//var text = text.substring(0, 80);
//text = text.replace(/^(.{10}[^\s]*).*/, "$1");
});
});
答案 0 :(得分:0)
Seo duit,一个chara:
var str = "The rain in Spain falls mainly on the plain.";
var l = 10;
while (str.length > l && str.substr(l-1,1) != " ") l++;
alert(str.substr(0,l));
答案 1 :(得分:0)
Javascript函数绝对可以在jQuery函数中运行。如果替换功能不适合您,看起来您的正则表达式可能就是问题。
此代码有效:
$(document).ready(function() {
$('.article').each(function(index) {
var text = $(this).children('p').text();
var maxLength = 6;
var reg = new RegExp('^(.{' + maxLength + '}[^\\s]*).*');
alert(text.replace(reg, "$1"));
});
});