function getreg(a,b)
{
var p=b;
var t="("+a+")";
var reg=new RegExp(t,"ig");
reg.test(p);
for (i=1;i<=RegExp.length;i++)
{
p.replace(RegExp.$i,"<here>"+RegExp.$i+"<here>");
}
document.getElementById("t2").value=p;
}为什么t2中有符合正则的内容却没有变化?
{
var p=b;
var t="("+a+")";
var reg=new RegExp(t,"ig");
reg.test(p);
for (i=1;i<=RegExp.length;i++)
{
p.replace(RegExp.$i,"<here>"+RegExp.$i+"<here>");
}
document.getElementById("t2").value=p;
}为什么t2中有符合正则的内容却没有变化?
解决方案 »
- 迅雷看看播放器如何调用,要IE和FF都可以调用?
- 为什么js的document.write 输出内容把网页内容全部冲刷掉了?
- 请教关于jQuery选择器的问题
- JS出错继续执行的问题
- 新手哇求助:网页中如何做点击切换下一张图的图片
- 求助javaScript读取xml文件,显示出数结构
- 如何使img不响应双击事件?
- 如何传递参数
- 请教javascript中 input 的焦点的位置的问题! 急!!!
- 请教:关于<input type=image name="submit" value="submit" src="image.gif">写法的2个疑问!!!
- 如下页面代码,点击添加事件后,就回到页面顶部了,不让它回顶部怎么解决
- JavaScript需要学到什么程度。我是干Java开发的。请教大侠!!
改为p=p.replace(RegExp.$i,"<here>"+RegExp.$i+"<here>");试试
function getreg(a,b)
{
var p=b;
var t="("+a+")";
var reg=new RegExp(t,"ig");
reg.exec(p);//或者p.match(reg); 来更新全局RegExp
p = p.replace(reg,"<here>"+RegExp.$1+"<here>");
alert(p);
//document.getElementById("t2").value=p;
}
getreg("a","abab");
指定g即可。以上代码就是全部符合的都替换。
var reg=new RegExp(t,"ig");
字符串"123456879\///abcde987654321"
我要的效果是<here>123456879<here>\///abcde<here>987654321<here>
但是如果像您那样写的话就变成了<here>123456879<here>\///abcde<here>123456879<here>
谢
建议你试试 RegExp['$'+i]
其它内容未细看。
function getreg(a,b)
{var p=b;
var t=a;var reg=new RegExp(t,"ig");
var tmpres = reg.exec(b);//或者p.match(reg); 来更新全局RegExpwhile(tmpres != null)
{
p = p.replace(tmpres,"<here>"+tmpres+"<here>");
tmpres = reg.exec(b);
}alert(p);
}
getreg("[1-9][0-9]{4,}","123456879abacdae987654321adfa23432423432");对RegExp不太熟悉,试了试,就这个方法还凑合。但是有个问题,如果匹配的内容有相同的,比如12345da12345da12345,就会出现只对第一个12345替换坐等高手!
function getreg(a,b)
{
var p="";
var t="("+a+")";
var reg=new RegExp(t,"ig");var m ;
var n=0;
while((m = reg.exec(b))!=null)
{
var temp = b.substring(n,m.index+RegExp.$1.length);
n = m.index+RegExp.$1.length;
p += temp.replace(RegExp.$1,"<here>"+RegExp.$1+"<here>")
}
p+=b.substr(n,b.length-n);alert(p);
//document.getElementById("t2").value=p;
}
getreg("[1-9][0-9]{4,}","123456879\///abcde987654321");