javascript replace 问题,正则表达式含变量
varstr1="<ahref='http://www.abcd.{0}.html'>{0},{1}</a>:Var1,Var2";//将两个字段存入数组vararrCo...
var str1 = "<a href='http://www.abcd.{0}.html'>{0},{1}</a>:Var1,Var2";
//将两个字段存入数组
var arrColnum = str1.split(":")[1].split(",");
var innerhtml = str1.split(":")[0];
//将{0},{1}替换成字段Var1,Var2对应的值
//data.arrColnum[i]不必考虑
//问题在正则表达式上,这么写把{i}作为了正则表达式
//我想要的是{0},{1},...做为正则表达式,怎么写?谢谢
for (var i=0;i<arrColnum.lenght;i++) {
innerhtml =innerhtml.replace(/{i}/g,data.arrColnum[i]);
}
alert(innerhtml);
innerhtml =innerhtml.replace(/{0}/g,data.arrColnum[i]);
innerhtml =innerhtml.replace(/{1}/g,data.arrColnum[i]);
这么写无问题,均可以得到数据,但是 var str1 里也许有{2},{3},,,{n} 展开
//将两个字段存入数组
var arrColnum = str1.split(":")[1].split(",");
var innerhtml = str1.split(":")[0];
//将{0},{1}替换成字段Var1,Var2对应的值
//data.arrColnum[i]不必考虑
//问题在正则表达式上,这么写把{i}作为了正则表达式
//我想要的是{0},{1},...做为正则表达式,怎么写?谢谢
for (var i=0;i<arrColnum.lenght;i++) {
innerhtml =innerhtml.replace(/{i}/g,data.arrColnum[i]);
}
alert(innerhtml);
innerhtml =innerhtml.replace(/{0}/g,data.arrColnum[i]);
innerhtml =innerhtml.replace(/{1}/g,data.arrColnum[i]);
这么写无问题,均可以得到数据,但是 var str1 里也许有{2},{3},,,{n} 展开
4个回答
展开全部
将{}用实体名写在正则里试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将{}用实体名写在正则里试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script>
var str1 = "<a href='http://www.abcd.{0}.html'>{0},{1}</a>:Var1,Var2";
var arr=str1.split(":");
var str2=arr[0]+arr[1];
var var_n=arr[2].split(",");
for(var i=0;i<var_n.length;i++)
{
var reg = eval("/\\{"+i+"\\}/ig");
while(reg.test(str2))
str2=str2.replace("{"+i+"}",var_n[i]);
}
alert(str2);
</script>
是这样子吗?
var str1 = "<a href='http://www.abcd.{0}.html'>{0},{1}</a>:Var1,Var2";
var arr=str1.split(":");
var str2=arr[0]+arr[1];
var var_n=arr[2].split(",");
for(var i=0;i<var_n.length;i++)
{
var reg = eval("/\\{"+i+"\\}/ig");
while(reg.test(str2))
str2=str2.replace("{"+i+"}",var_n[i]);
}
alert(str2);
</script>
是这样子吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询