求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>
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-16
var str = "<p extend=\"function(o) {return Object.extend.apply(this, [this, o]);}\"> aaa</p>";
alert(str.replace(/<p.*?>/g,"<p>"));

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

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

第2个回答  2013-01-17
s=s.replace(/\sextend=\"[\r\n]{0,}.*?[\r\n]{0,}.*?[\r\n]{0,}\"/ig,'');

亲测
第3个回答  2013-01-16
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,'');
}

本回答被提问者采纳
第4个回答  2013-01-16
'/<p\s(.*)>/Us'追问

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

求JS正则高手,把一个字符串替换成空串,50分
function fdsa(){ var str = document.getElementById("fds").innerText;str = str.replace(\/(<[a-z]+.*?)extend=\\"function\\(o\\)\\s*\\{[\\s\\S]+?\\}\\"(.*>)\/g, "$1$2");alert(str);}

js正则表达式替换字符串(将代码片段1用js正则替换成字片段2)
要使用正则表达式,不能使用str.replace("\\r\\n",newString);,这会导致只替换第一个匹配的子字符串。?母字符串中不一定\\r\\n会同时存在,也许只有\\n,没有\\r也是可能的。?replace方法的语法是:stringObj.replace(rgExp,replaceText)其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符...

求一js字符串替换的正则表达式
function rep(){ var str = "1.2";var re = "\/" + "node.1.2" + "\/g"; ---这里错了 上面表示re是个字符串,而不是正则表达式 改成 var re = \/node.1.2\/g var idtemp = "node.1.1";var newstr = str.replace(re,idtemp);alert(newstr);} rep(); 假如你是在jsp中...

js正则表达式替换括号字符串
str.replace("img:{src:'img\/48\/start_event_empty.png',width:48,height:48},attr:{ x:409, y:10, width:50, height:50}","");就可以了

js替换字符串某个字符,js修改字符串中指定字符
1. 替换字符串中所有的特定字符:假设需要将所有 'a' 替换为 'e',可以编写如下代码片段:javascript function replaceAll(str, target, replacement) { return str.split(target).join(replacement);} let originalString = 'any string with a';let modifiedString = replaceAll(originalString, 'a',...

js中如何将一个字符串中的;替换成,
js中个字符串中指定内容可以用replace函数来实现。1、新建html文件,添加body标签,定义一个变量并赋值字符串,然后将变量输出:2、用replace函数将字符串中的“;”替换成“,”,代码为“a.replace(\/;\/, ',')”,然后将后的字符串重新赋值给原变量:3、如果原字符串中含有多个“;”,这时可以用...

js替换字符串某个字符,js修改字符串中指定字符
为了替换字符串中所有特定字符为另一个字符,可以利用`String.prototype.replace()`方法。这提供了强大的灵活性,可以使用正则表达式来精确匹配和替换字符。例如,要将所有字符 'a' 替换为 'e',可以按照以下步骤操作:javascript const str = "apple";const replacedStr = str.replace(\/a\/g, 'e');...

请教JS正则匹配替换字符串问题
匹配模式:\/\/首先创建字符串变量;var str='i am js';\/\/创建匹配模式 var mode='\/[a-z]+\/';if(mode.test(str)){ alert('字符串符合匹配,可以注册');}

帮帮忙 JS 正则替换字符串
如果是输入 你可以input=number 就可以了 如果是取输入内容的数字,下面给一个简单的正则:'sdfsdf3234234.234234'.match(\/\\d+\\.?\\d{0,2}\/)

怎么把js的逗号替换成空白?
把js的逗号替换成空白:通过replace和正则表达式替换逗号。例如:var replaceStr = ',';\/\/要替换的字符串 var str = '12323,23,23adasd';\/\/要被替换的字符串 alert(str.replace(new RegExp(replaceStr,'gm'),''));\/\/逗号替换成空白。JS的意思是指JavaScript脚本语言。JavaScript一种直译式脚本...

相似回答
大家正在搜