js如何在指定位置插入字符串!

时间:2023-01-03 09:52:53
var string="11111111111111111111111111111111111111111111111111111111111111111111111111111111";


有很多个1,
我要在上面的string中,每隔10个1,就插入个"\n"
请问怎么做?

13 个解决方案

#1


var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
var arr = str.split('');
for (var i = 9; i < arr.length; i += 10) arr[i] += '\n';
alert(arr.join(''));

#2




var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
var arr = str.split('');
for (var i = 1; i < arr.length; i * 10) arr[i] += '\n';
alert(arr.join(''));


我可能喜欢这样

#3


汗。写错了。一失足成千古恨啊。成死循环了

#4


???我的回复呢
  上面的回复写错了

#5


<script type="text/javascript">
<!--
var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
alert(str.replace(/(.{10})/g,'$1\n'));
//-->
</script>

#6


楼上的正则表达式不错。。最简便的方法了。。
我也要多去学学正则啊

#7


另一种思路,有点小复杂

var string = "11111111111111111111111111111111111111111111111111111111111111111111111111111111";
var newstring = null;
for(var i = 0; i < string.length; i++){
if(i % 10 == 0){
var temp = string.substr(i, 10) + "\n";
i == 0 ? newstring = temp : newstring += temp;
}
}
alert(newstring);

#8


再补一问:
var string="11111111111111111111111111111111111111
1111111111111111111111111
111111111111111111111111111111111111111111111111";

有很多个1,
我要在上面的string中,每隔10个1,就插入个"\n"
请问怎么做?

补充:
如果还要判断有没有"\n",
有的话,从"\n"开始计,超出10个就插入“\n",
嘿 ,主要是防止超页!

#9


超页的意思是担心会破坏CSS控制的格式是吧。
这个可以用特定的CSS属性来控制,完全不需要这样来做


这个问题可以参考这里
http://www.blueidea.com/tech/web/2006/3469.asp

自己对应一下看看吧

#10


引用 5 楼 hongmei85 的回复:
<script type="text/javascript">
<!--
var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
alert(str.replace(/(.{10})/g,'$1\n'));
//-->
</script>



请高手解释下啊,有点看不懂,但真的很好用!

#11


引用 10 楼 bllife 的回复:
引用 5 楼 hongmei85 的回复:
<script type="text/javascript">
<!--
var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
alert(str.replace(/(.{10})/g,'$1\n'));
/……


懂的不是很多。。让我自己知道的解释下。。高手勿拍。。

. 在正则中代表除了他本身外所有的字符,在这里代表1,它表示毫无压力。
{10} 在正则代表他取多少位。。其实这个大括号里面可以是一个范围。这里只有一个值,它表示有且有10个前面一样的字符。

g 代表。全部,,直到最后。
replace 你知道的。。。

关键的是后面那个参数 $1\n 这个$1代表匹配元素再加\n
还有不要忘了最重要的一点 (.{10}) 这个小括号。。只有用它包起来。。replace 的第二个参数 $1 才会有用哟。。
解的不一定会准确。。但是我自己理解的。。。

#12


我编写了个函数,可以通用,你可以收藏,备用。
参数说明:str表示原字符串变量,flg表示要插入的字符串,sn表示要插入的位置 

<script language="javascript">
function insert_flg(str,flg,sn){
var newstr="";
for(var i=0;i<str.length;i+=sn){
var tmp=str.substring(i, i+sn);
newstr+=tmp+flg;
}
return newstr;
}

var string="111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
var fstr="\n";
document.write(insert_flg(string,fstr,10));
</script>

#13


嘿嘿...飘过..

#1


var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
var arr = str.split('');
for (var i = 9; i < arr.length; i += 10) arr[i] += '\n';
alert(arr.join(''));

#2




var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
var arr = str.split('');
for (var i = 1; i < arr.length; i * 10) arr[i] += '\n';
alert(arr.join(''));


我可能喜欢这样

#3


汗。写错了。一失足成千古恨啊。成死循环了

#4


???我的回复呢
  上面的回复写错了

#5


<script type="text/javascript">
<!--
var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
alert(str.replace(/(.{10})/g,'$1\n'));
//-->
</script>

#6


楼上的正则表达式不错。。最简便的方法了。。
我也要多去学学正则啊

#7


另一种思路,有点小复杂

var string = "11111111111111111111111111111111111111111111111111111111111111111111111111111111";
var newstring = null;
for(var i = 0; i < string.length; i++){
if(i % 10 == 0){
var temp = string.substr(i, 10) + "\n";
i == 0 ? newstring = temp : newstring += temp;
}
}
alert(newstring);

#8


再补一问:
var string="11111111111111111111111111111111111111
1111111111111111111111111
111111111111111111111111111111111111111111111111";

有很多个1,
我要在上面的string中,每隔10个1,就插入个"\n"
请问怎么做?

补充:
如果还要判断有没有"\n",
有的话,从"\n"开始计,超出10个就插入“\n",
嘿 ,主要是防止超页!

#9


超页的意思是担心会破坏CSS控制的格式是吧。
这个可以用特定的CSS属性来控制,完全不需要这样来做


这个问题可以参考这里
http://www.blueidea.com/tech/web/2006/3469.asp

自己对应一下看看吧

#10


引用 5 楼 hongmei85 的回复:
<script type="text/javascript">
<!--
var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
alert(str.replace(/(.{10})/g,'$1\n'));
//-->
</script>



请高手解释下啊,有点看不懂,但真的很好用!

#11


引用 10 楼 bllife 的回复:
引用 5 楼 hongmei85 的回复:
<script type="text/javascript">
<!--
var str = '111111111111111111111111111111111111111111111111111111111111111111111111111111111';
alert(str.replace(/(.{10})/g,'$1\n'));
/……


懂的不是很多。。让我自己知道的解释下。。高手勿拍。。

. 在正则中代表除了他本身外所有的字符,在这里代表1,它表示毫无压力。
{10} 在正则代表他取多少位。。其实这个大括号里面可以是一个范围。这里只有一个值,它表示有且有10个前面一样的字符。

g 代表。全部,,直到最后。
replace 你知道的。。。

关键的是后面那个参数 $1\n 这个$1代表匹配元素再加\n
还有不要忘了最重要的一点 (.{10}) 这个小括号。。只有用它包起来。。replace 的第二个参数 $1 才会有用哟。。
解的不一定会准确。。但是我自己理解的。。。

#12


我编写了个函数,可以通用,你可以收藏,备用。
参数说明:str表示原字符串变量,flg表示要插入的字符串,sn表示要插入的位置 

<script language="javascript">
function insert_flg(str,flg,sn){
var newstr="";
for(var i=0;i<str.length;i+=sn){
var tmp=str.substring(i, i+sn);
newstr+=tmp+flg;
}
return newstr;
}

var string="111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
var fstr="\n";
document.write(insert_flg(string,fstr,10));
</script>

#13


嘿嘿...飘过..