Javascript 如何通过jQuery删除字符串中多余的空白,并只计算实际的字符数?

Javascript 如何通过jQuery删除字符串中多余的空白,并只计算实际的字符数?,javascript,html,jquery,css,Javascript,Html,Jquery,Css,今天我想设计一个块文本超过70个字符将隐藏额外的文本和显示更多 但我无法预测用户是否会添加额外的空行,这将导致它们被计算为一个字符。如何删除多余的空白,只计算实际包含单词的部分 $(函数(){ 设len=70 $('.demo')。每个(函数(){ 如果($(this.html().length>leng){ var str=$(this.html().substring(0,len-1)+“。。。顯示更多"; $(this.html(str); } }); }); .content{ 显示

今天我想设计一个块文本超过70个字符将隐藏额外的文本和显示更多 但我无法预测用户是否会添加额外的空行,这将导致它们被计算为一个字符。如何删除多余的空白,只计算实际包含单词的部分

$(函数(){
设len=70
$('.demo')。每个(函数(){
如果($(this.html().length>leng){
var str=$(this.html().substring(0,len-1)+“。。。顯示更多";
$(this.html(str);
} 
});
});
.content{
显示器:flex;
证明内容:之间的空间;
边框:1px实心#222;
填充:10px;
}
.演示{
溢出:隐藏;
文本溢出:剪辑;
显示:-网络工具包盒;
-网络工具包盒方向:垂直;
-webkit线夹:2个;
}
.照片{
宽度:100px;
高度:100px;
边界:1px;
边界半径:16px;
左边距:10px;
}
.更多{
文字装饰:无;
颜色:蓝色;
}

同侧阴阳,同侧阴阳
您可以使用
.trim()
中的if($(this.html().trim().length>len){

演示

$(函数(){
设len=70
$('.demo')。每个(函数(){
if($(this.html().trim().length>len){
var str=$(this.html().substring(0,len-1)+“。。。顯示更多";
$(this.html(str);
}
});
});
.content{
显示器:flex;
证明内容:之间的空间;
边框:1px实心#222;
填充:10px;
}
.演示{
溢出:隐藏;
文本溢出:剪辑;
显示:-网络工具包盒;
-网络工具包盒方向:垂直;
-webkit线夹:2个;
}
.照片{
宽度:100px;
高度:100px;
边界:1px;
边界半径:16px;
左边距:10px;
}
.更多{
文字装饰:无;
颜色:蓝色;
}

同侧阴阳,同侧阴阳
您可以使用
.trim()
中的if($(this.html().trim().length>len){

演示

$(函数(){
设len=70
$('.demo')。每个(函数(){
if($(this.html().trim().length>len){
var str=$(this.html().substring(0,len-1)+“。。。顯示更多";
$(this.html(str);
}
});
});
.content{
显示器:flex;
证明内容:之间的空间;
边框:1px实心#222;
填充:10px;
}
.演示{
溢出:隐藏;
文本溢出:剪辑;
显示:-网络工具包盒;
-网络工具包盒方向:垂直;
-webkit线夹:2个;
}
.照片{
宽度:100px;
高度:100px;
边界:1px;
边界半径:16px;
左边距:10px;
}
.更多{
文字装饰:无;
颜色:蓝色;
}

同侧阴阳,同侧阴阳

在字符串上使用
trim()
函数,比如
string.trim()
不清楚您的问题是否只是结尾(或开头)的行。如果您想删除中间的空白,您需要一个正则表达式,例如
str=str.replace(/\W{2,}/g,”)
将把所有出现的多个空格转换为一个空格。您可能只喜欢空格或换行,而不喜欢空格的任何组合。@freedomn-m hello~您说过如果要从文本中删除空格,需要添加正则表达式,但我还没有学会!STR=STR.Replace(/\W)在哪里{2,}/g,“”)把它放在我的程序中?谢谢你
if($(this).html().replace(/\W{2,}/g,“”).trim().length>len){
然后当你得到.html()的时候再把它截断。或者把它放在
if
之前的一个变量中,不要做同样的事情两次。@freedomn-m谢谢你告诉我。再次感谢
trim()
字符串上的函数,如
string.trim()
将把所有出现的多个空格转换为一个空格。您可能只喜欢空格或换行,而不喜欢空格的任何组合。@freedomn-m hello~您说过如果要从文本中删除空格,需要添加正则表达式,但我还没有学会!STR=STR.Replace(/\W)在哪里{2,}/g,”)将其放在我的程序中?谢谢
if($(this.html().replace(/\W{2,}/g,”).trim().length>len){
当您得到.html()时,请再次截断。或者将它放在
if
之前的变量中,并且不要做同样的事情两次。@freedomn-m谢谢你告诉我这个。再次感谢你告诉我这个方法,并给我展示了一个演示,让我更容易理解如何更正它,以便我可以学习新的方法!此外,我想问一下ser有很多空白,但文本实际上有很多方法可以让文本填充两行,这样多余的文本就可以隐藏和显示更多?谢谢你告诉我这个方法,并给我展示了一个演示,让我更容易理解如何更正它,以便我可以学习新的方法!此外,我想问一下用户有很多空白,但文本实际上有很多内容,如何使文本填充两行,从而使多余的文本可以隐藏和显示更多?