var str='@test1@,@test2@,@test3@,@test4@';var pattern = /@.*?@/g; var i = 0; str = str.replace(pattern,function(){ return "@" + (++i) + "@"; }); alert(str);
var str='@test1@,@test2@,@test3@,@test4@'; var arr = [1,2,3,4]; var pattern = /@.*?@/g; var i = 0; str = str.replace(pattern,function(){ return arr[i++]; }); alert(str);
var str='@test1@,@test2@,@test3@,@test4@'; var arr=["1ss","2dd","3ff","4gg"] var pattern = /@.*?@/g; var i = 0; str = str.replace(pattern,function(){ return arr[i++]; }); alert(str);
<script> function f() { var arr=["one","two","third","four","five"]; var reg = /@test(\d+)@/gi var val = document.getElementById("text").value; alert(reg.test(val)); alert(val.replace(reg,function(sMatch){ alert(sMatch.search(/\d+/)); return arr[sMatch.match(/\d+/)]; })); } </script> <body> <input type="text" id="text"/> <input type="button" onclick="f();" value="Test"/> </body> 这个是你要的吗
var arr=["one","two","third","four","five"]; var val="@test1@,@test2@,@test3@,@test4@"; val.replace(/@test(\d+)@/gi,function(sMatch){ return arr[sMatch.match(/\d+/)]; })
str=str.replace(/@test(\d+)@/g,"$1");
var str='@test1@,@test2@,@test3@,@test4@';var pattern = /@.*?@/g;
var i = 0;
str = str.replace(pattern,function(){
return "@" + (++i) + "@";
});
alert(str);
var arr = [1,2,3,4];
var pattern = /@.*?@/g;
var i = 0;
str = str.replace(pattern,function(){
return arr[i++];
});
alert(str);
我想把第一匹配出来的替换为 arr【1】
第二个匹配出来的 arr【2】
依次这样
var arr=["1ss","2dd","3ff","4gg"]
var pattern = /@.*?@/g;
var i = 0;
str = str.replace(pattern,function(){
return arr[i++];
});
alert(str);
function f()
{
var arr=["one","two","third","four","five"];
var reg = /@test(\d+)@/gi
var val = document.getElementById("text").value;
alert(reg.test(val));
alert(val.replace(reg,function(sMatch){
alert(sMatch.search(/\d+/));
return arr[sMatch.match(/\d+/)];
}));
}
</script>
<body>
<input type="text" id="text"/>
<input type="button" onclick="f();" value="Test"/>
</body>
这个是你要的吗
var val="@test1@,@test2@,@test3@,@test4@";
val.replace(/@test(\d+)@/gi,function(sMatch){
return arr[sMatch.match(/\d+/)];
})