Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每X个字符添加一个换行符_Javascript - Fatal编程技术网

Javascript 每X个字符添加一个换行符

Javascript 每X个字符添加一个换行符,javascript,Javascript,我正在尝试自动将一个div内容换行,比如说,每行50个字符。为此,我有这个脚本,但它似乎不工作 有什么建议吗?你可以用长字符串来做。替换(/({50})/g,“$1” var长字符串=“Lorem ipsum dolor sit amet,献祭精英。耳道前庭神经。脑干前庭。这是一个临时性的地方,是威尼斯人的聚集地。在rhoncus velit调味品中,这是一种发酵剂。福赛勒斯·卢克图斯·洛雷姆·胡斯托,福赛勒斯·坦普斯·托托·劳里特·奎斯。这是一个充满活力的前庭。埃尼安·韦尔波尔塔·夸姆。M

我正在尝试自动将一个div内容换行,比如说,每行50个字符。为此,我有这个脚本,但它似乎不工作


有什么建议吗?

你可以用
长字符串来做。替换(/({50})/g,“$1

var长字符串=“Lorem ipsum dolor sit amet,献祭精英。耳道前庭神经。脑干前庭。这是一个临时性的地方,是威尼斯人的聚集地。在rhoncus velit调味品中,这是一种发酵剂。福赛勒斯·卢克图斯·洛雷姆·胡斯托,福赛勒斯·坦普斯·托托·劳里特·奎斯。这是一个充满活力的前庭。埃尼安·韦尔波尔塔·夸姆。Morbi tincidunt diam vulputate,varius mi vel,interdum justo。梅塞纳·胡斯托·内克,安特·艾克的莫利斯,苏西比特·朗卡斯·sem,智者·莫里斯的前庭万岁,莫利斯·努克·奥克托·a。罗汉松。阿利夸姆酒、红曲酒、智慧之歌、发酵液中的sem nisi和nisl。在白葡萄酒中,发酵前的暂时性维生素a。整数ut accumsan nibh。射手座的人只有一个,他们是狮子座的人。Maecenas是augue non mauris blandit accumsan。如果你能活下去,你就可以坐在那里。毛里斯·尤伊斯莫德·里索斯。不要坐在我的座位上。这是一种自然的进化,是一种自然的进化,是一种进化的精英。埃尼只是一个自由的人,射手座是一个自由的人,亨德雷特不是一个多洛人。lacus中的钠元素。埃尼安·波苏尔、莫里斯·奎斯·佩伦茨克·特里斯蒂克、埃罗斯·厄洛斯·前庭、狮子座、生命之角。这是一个封建社会,是欧盟前的索达莱斯(sodales),是一个侵权行为,是一个封建社会的精英阶层。这是封建的自由统治。维瓦摩斯坐在自由女神的身旁。普雷蒂姆岛的中间库拉比图尔·尼布(Curabitur interdum nibh),即奥纳雷·马格纳·阿利奎特(Orna magna aliquet)。老里特葡萄园。在猫科动物laoreet interdum坐在amet eget velit的位置上,这是一个无赌注的悬念。这是一个很好的例子。不允许侵权人。前庭秃鹫turpis eu dui mollis,在节前;
document.getElementById('container').innerHTML=long_string.replace(/(.50})/g,“$1
”);

您在那里所做的是仅在全文有50个字符的情况下添加换行符。
你应该做的是:
-如果字符串长度超过50个字符,则每50个字符拆分一次字符串
-并使用“\n”将其加入
下面的代码将您的字符串拆分为50个字符的行:

lines = str.match(/.{50}/g);

现在,您可以通过以下方式加入他们:

lines.join('<br>'); 
行。连接(“
”);
或者,您可以使用单衬里:

str.replace(/(.{50})/g, "$1<br>");
str.replace(/({50})/g,“$1
”;
我试图通过手动创建一个数组来解决这个问题,但我不得不承认其他答案:

  • match()
    join()
    ;以及
  • regex
    replace()
不那么冗长,更优雅

var chars=50;
var withBreaks=document.getElementsByClassName('with-breaks')[0];
var withBreaksText=withBreaks.textContent;
var withBreaksTextLength=withBreaksText.length;
带breaksarray的var=[];
var j=0;
对于(变量i=chars;i<(带breakstext.length+chars);i=i+chars){
withBreaksArray[j]=withBreaksText.子串(0,(chars+1));
withBreaksText=withBreaksText.子字符串(字符+1);
j++;
}
withBreaks.textContent='';
对于(var i=0;i';
}

Lorem ipsum door sit amet,ut alia vidit splendide qui,sit modo conseteur no.Duo eu affer vocibus argumentum。这是我的荣幸。阿加姆·阿尔布其乌斯(albucius)是一位杰出的律师,他是一位杰出的律师。这是一个很好的例子,但事实并非如此。Cibo已完成测试,且未经验证。脸上长满了橘皮,在每一个分子中。我不想迫害你。他的情报资料。埃米特·伊里乌尔·埃克斯,阿利奎姆·圣所,维姆·尤因。德尚·古伯格伦有特写。迪科·诺米纳维(Dico nominavi)持不同政见,他是共和国的一员,两人在剧本中互不相同。我是柏拉图·奈姆,欧盟最讨厌的抄写员,通常是尤伊斯莫德·洛博蒂斯等人。他以自己的生命为主题,以自己的生命为主题,创作了一部重要的作品。Nominavi sapientem Salitatus无nec。从上到下。没有nec。梅里厄斯·迪斯克雷·梅厄。以某种方式进行内容交换。在欧洲,野蛮的知识分子和普林西比州的传统。海和埃利普特·古伯格伦(Sea et eripuit gubergren),欧盟推动了nec的流动性定义。这是欧盟的承诺,是对pri的强烈谴责。海洋永远是不同的定义。Stet harum sit广告。

我已经创建了一个与您的方法类似的答案。由于
textg
的值是在
length%50
等于
0
时获取
textarea
的值,因此我在
textarea
上有一个换行符。我还添加了
空白
前置行
,其中

将在代码中断的地方中断行,但额外的空白仍然被剥离

我已经从html中剥离了所有javascript,并将其全部放在一个函数中
breakline()

函数特征线(e){
var$this=$(this);//存储文本区域元素
var$textg=$('#textg');//存储div元素
var length=$this[0]。value.length;//获取textarea中文本的长度
$textg[0]。textContent=$this[0]。value;//将div的文本内容设置为textarea的文本
if(长度%50==0){//测试textarea中的文本是否可被50除,余数为0
$this[0]。值+='\n'//
str.replace(/(.{50})/g, "$1<br>");