请问如何简化str=str.replace(/%1%/gi,CN1);str=str.replace(/%2%/gi,CN2);

CXZ9 2002-12-06 08:09:01
if (p=="CN")
{
str=str.replace(/%1%/gi,CN1);
str=str.replace(/%2%/gi,CN2);
str=str.replace(/%3%/gi,CN3);
str=str.replace(/%4%/gi,CN4);
str=str.replace(/%5%/gi,CN5);
str=str.replace(/%6%/gi,CN6);
str=str.replace(/%7%/gi,CN7);
str=str.replace(/%8%/gi,CN8);
}
else if (p=="BL")
{
str=str.replace(/%1%/gi,BL1);
str=str.replace(/%2%/gi,BL2);
str=str.replace(/%3%/gi,BL3);
str=str.replace(/%4%/gi,BL4);
str=str.replace(/%5%/gi,BL5);
str=str.replace(/%6%/gi,BL6);
str=str.replace(/%7%/gi,BL7);
str=str.replace(/%8%/gi,BL8);
}
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CXZ9 2002-12-07
  • 打赏
  • 举报
回复
我去试试先
qiushuiwuhen 2002-12-06
  • 打赏
  • 举报
回复
IE5.5+用
str=str.replace(/%([1-8])%/gi,function($1,$2){return eval(p+$2)})

否则用
for(var i=1;i<9;i++)str=str.replace(new RegExp("%"+i+"%","gi"),eval(p+i))
Go_Rush 2002-12-06
  • 打赏
  • 举报
回复
不好意思,没有注意到你的
CN1....BL1...Bl8都是变量,重新写过了,这个可以(js ver5.5+)

str=str.replace(/%([1-8]{1})%/gi,function($1,$2){
return eval(((p=="CN")?p:((p=="BL")?p:""))+$2)})
annkie 2002-12-06
  • 打赏
  • 举报
回复
hehe,还是有错误,继续改:
if (p=="CN")
{
var tempstr;
for(var i=1;i<=8;i++)
{
tempstr="str=str.replace(/%"+i+"%/gi,CN"+i+")";
eval(tempstr);
}
}
annkie 2002-12-06
  • 打赏
  • 举报
回复
if (p=="CN")
{
var tempstr;
for(var i=1;i<=8;i++)
tempstr="str=str.replace(/%"+i+"%/gi,CN"+i+")";
eval(tempstr);
}
annkie 2002-12-06
  • 打赏
  • 举报
回复
if (p=="CN")
{
var tempstr;
for(var i=1;i<=8;i++)
tempstr="str=str.replace(/%1%/gi,CN"+i+")";
eval(tempstr);
}
Go_Rush 2002-12-06
  • 打赏
  • 举报
回复
str=str.replace(/%([1-8]{1})%/gi,function($1){
return ((p=="CN")?p:((p=="BL")?p:""))+$1
})

在网吧随手写的.

没有测试

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧