不是很清楚“怎么把[abc][/abc]变为空的”,估计是我下边的第二种replace的方法:
<script>
function blacketReplace1(str)
{
var tmpstr = "";
while (tmpstr != str) {
tmpstr = str;
str = str.replace(/\[([^\]]*)\]([^\[]*)\[\/([^\[]*)\]/g,
function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) {
return "[" + $1 + "][/" + $3 + "]";
});
}
return str;
}
str = "[abc]dfsdfds[/abc][fdls]";
alert(blacketReplace1(str));
function blacketReplace(str)
{
var tmpstr = "";
while (tmpstr != str) {
tmpstr = str;
str = str.replace(/(\[)([^\]]*)(\])([^\[]*)(\[\/)([^\[]*)(\])/g,
function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) {
return $4;
});
}
return str;
}str = "[abc]dfsdfds[/abc][fdls]";
alert(blacketReplace(str));</script>
<script>
function blacketReplace1(str)
{
var tmpstr = "";
while (tmpstr != str) {
tmpstr = str;
str = str.replace(/\[([^\]]*)\]([^\[]*)\[\/([^\[]*)\]/g,
function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) {
return "[" + $1 + "][/" + $3 + "]";
});
}
return str;
}
str = "[abc]dfsdfds[/abc][fdls]";
alert(blacketReplace1(str));
function blacketReplace(str)
{
var tmpstr = "";
while (tmpstr != str) {
tmpstr = str;
str = str.replace(/(\[)([^\]]*)(\])([^\[]*)(\[\/)([^\[]*)(\])/g,
function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) {
return $4;
});
}
return str;
}str = "[abc]dfsdfds[/abc][fdls]";
alert(blacketReplace(str));</script>
解决方案 »
- javascript 函数同时执行问题!
- js 脚本 在IE下正常显示,在chrome 和 Safari 下不显示
- 正则,必须包含多个指定字母
- MDIOpen的问题
- 这代码如何在javascript里运行?
- 怎样修改<td colspan="4" align="center" id="a" ></td>的值
- jQuery中Ajax表单处理遇到无响应情况
- 如何让弹出窗口处于showmodule状态?使得不能点击父窗体
- window.showModalDialog()生成的页可以访问生成它的页吗
- [共享]:自己编的一个Javascript菜单程序,没有子菜单层数的限制:)
- 如何从几个action种选择一个???????
- 在提交页面时,怎样将多次提交点击屏蔽掉?
<script>
str="[abc]asdfasldkfjlasd[/abc]"
str=str.replace(/\[([^\]]+)\]([^[]+)\[\/\1\]/g,"$2");
alert(str);
</script>
<script>
str="[abc]asdfasldkfjlasd[/abc]"
str=str.replace(/\[(.+?)\](.+?)\[\/\1\]/g,"$2");
alert(str);
</script>