求JS正则高手,把一个字符串替换成空串,50分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求JS正则高手,把一个字符串替换成空串,50分相关的知识,希望对你有一定的参考价值。

.aspx网页只要一using AjaxPro; 并Utility.RegisterTypeForAjax(typeof())后,百度的编辑器源代码就会多了这个

<p extend="function(o)
return Object.extend.apply(this, [this, o]);
">
aaa
</p>

怎么把p标签里的那个
extend="function(o)
return Object.extend.apply(this, [this, o]);
"

替换成""

凡是html标签都会被添加上那些东西,无奈找不到原因,只能用JS在获取数据的时候把他们替换成空字符,

正则:
str.replace(/(<[a-z]+.*?)extend=\"function\(o\)\s*\[\s\S]+?\\"(.*>)/g, "$1$2");

代码经过测试,下面是测试代码:

<!doctype html
<html>
<head>
<meta charset="utf-8">
<title>demo</title>
</head>
<body>
<textarea id="fds" style="width:600px; height:500px">
<p extend="function(o)
return Object.extend.apply(this, [this, o]);
">
aaa
</p>
<span id="yes" extend="function(o)
return Object.extend.apply(this, [this, o]);
" class="fds">
aaa
</span>
<p style="fdsa" extend="function(o)
return Object.extend.apply(this, [this, o]);
" style="fdsa">
aaa
</p>
<br extend="function(o)
return Object.extend.apply(this, [this, o]);
"/>
</textarea>
<input type="button" value="替换!!!" onClick="fdsa()" />
<script type="text/javascript">
function fdsa()
var str = document.getElementById("fds").innerText;
str = str.replace(/(<[a-z]+.*?)extend=\"function\(o\)\s*\[\s\S]+?\\"(.*>)/g, "$1$2");
alert(str);

</script>
</body>
</html>
参考技术A var str = "<p extend=\"function(o) return Object.extend.apply(this, [this, o]);\"> aaa</p>";
alert(str.replace(/<p.*?>/g,"<p>"));

.*?中的?号很重要,楼上的没有加这个会把 aaa</p>也给吃掉了。追问

是所有HTML 标签都会那样,比如

参考技术B s=s.replace(/\sextend=\"[\r\n]0,.*?[\r\n]0,.*?[\r\n]0,\"/ig,'');

亲测
参考技术C var delyouStr=function(str)
return str.replace(/extend=[^>]*/ig,'');


使用方法:

把返回在使用delyouStr(ajax返回的数据)进行处理就可以了追问

这样的话的确可行,不过如果extend 之后还有其他属性也会被替换掉 比如style="color:red" 也会替换掉

追答

改成这样即OK:
var delyouStr=function(str)
return str.replace(/extend=[^\]*\/ig,'');

本回答被提问者采纳
参考技术D '/<p\s(.*)>/Us'追问

这样会把 里面的style样式也替换掉

js正则匹配替代指定字符(根据img标签的src中的命名规则,用正则表达式替换成下面格式的文字)

刚恢复方法<img src="arclist/em_4.gif">法规法规和福建<img src="arclist/em_23.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户
刚恢复方法<img src="arclist/em_8.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户
刚恢复方法<img src="arclist/em_12.gif">法规法规和福建<img src="arclist/em_13.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户
刚恢复方法<img src="arclist/em_14.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户

转换成:

刚恢复方法em_4法规法规和福建em_23共和国环境观看em_1活该活该客户
刚恢复方法em_8法规法规和福建em_3共和国环境观看em_1活该活该客户
刚恢复方法em_12法规法规和福建em_13共和国环境观看em_1活该活该客户
刚恢复方法em_14法规法规和福建em_3共和国环境观看em_1活该活该客户

参考技术A var html='刚恢复方法<img src="arclist/em_4.gif">法规法规和福建<img src="arclist/em_23.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户\\r\\n刚恢复方法<img src="arclist/em_8.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户\\r\\n刚恢复方法<img src="arclist/em_12.gif">法规法规和福建<img src="arclist/em_13.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户\\r\\n刚恢复方法<img src="arclist/em_14.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户';
var reg = /<img[^>]*src[=\\"\\'\\s]+[^\\/]+\\/([^\\.]+)\\.[^\\"\\']+[\\"\\']?[^>]*>/gi;
html=html.replace(reg,"$1");
console.log(html);

追问

您好 , 如果我的文件路径是多级的 , 应该对哪里进行修改, 就这个 , 取0.gif;

追答var html='刚恢复方法<img src="arclist/em_4.gif">法规法规和福建<img src="arclist/em_23.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户\\r\\n刚恢复方法<img src="arclist/em_8.gif">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户\\r\\n刚恢复方法<img src="arclist/em_12.gif">法规法规和福建<img src="arclist/em_13.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户\\r\\n刚恢复方法<img src="ht的tp://localhost/jkx4yy/resources/libraries/kindeditor/plugins/emoticons/0.gif" border="0" alt="">法规法规和福建<img src="arclist/em_3.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户';
var reg = /<img[^>]*src[=\\"\\'\\s]+[^\\.]*\\/([^\\.]+)\\.[^\\"\\']+[\\"\\']?[^>]*>/gi;
html=html.replace(reg,"$1");
console.log(html);

参考技术B alert('刚恢复方法<img src="arclist/em_4.gif">法规法规和福建<img src="arclist/em_23.gif">共和国环境观看<img src="arclist/em_1.gif">活该活该客户'.replace(/<img src="arclist\\/(.+?)\\.gif">/g, '$1'));

以上是关于求JS正则高手,把一个字符串替换成空串,50分的主要内容,如果未能解决你的问题,请参考以下文章

怎么把js的逗号替换成空白?

javascript字符串的转换

js把逗号替换成空白怎么做

Js 利用正则 在字符串中提取数字替换非数字字符为指定字符串

JS如何把一个数字数组转换成一个数字。

C#正则表达式指定替换