Javascript.replace()/regex,代码为字符串

Javascript.replace()/regex,代码为字符串,javascript,regex,replace,Javascript,Regex,Replace,我正在尝试“删除”(仅将其替换为“”)以下字符串: <script type="text/javascript"> document.createElement("img").src="http://www.google.com" </script> <SCRIPT LANGUAGE=JavaScript> var PAswf = "_ADPATH_[%SWF File%]"; var advurl = "_ADCLICK_"; var PAadvurl =

我正在尝试“删除”(仅将其替换为“”)以下字符串:

<script type="text/javascript">
document.createElement("img").src="http://www.google.com"
</script>
<SCRIPT LANGUAGE=JavaScript>
var PAswf = "_ADPATH_[%SWF File%]";
var advurl = "_ADCLICK_";
var PAadvurl = escape(advurl);
var PAwidth = "[%Width%]";
var PAheight = "[%Height%]";
var wmValue = "_ADDCP(wm)_";
if (!wmValue)wmValue = "opaque";
var PAwmode = wmValue;
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
document.write(' WIDTH="'+ PAwidth +'" HEIGHT="'+ PAheight +'">');
document.write('<PARAM NAME=movie VAL'+'UE="' + PAswf + '?clickTag='+ PAadvurl +'"><PARAM NAME=quality VALUE=high><PARAM NAME=wmode VALUE='+ PAwmode +'>');
document.write('<EMBED sr'+'c="'+PAswf + '?clickTag='+ PAadvurl +'" quality=high wmode='+ PAwmode);
document.write(' swLiveConnect=TRUE WIDTH="'+ PAwidth +'" HEIGHT="'+ PAheight +'"');
document.write(' TYPE="application/x-shockwave-flash">');
document.write('</EMBED></OBJECT>');
</SCRIPT>
<script type="text/javascript">
document.createElement("img").src="http://www.google.com"
</script>

似乎不匹配。我肯定我做错了什么事,但我已经找了大约一个小时,结果一无所获。有什么想法吗?

/codeString/是一个正则表达式,用于搜索文本“codeString”,而不是包含模式的变量。另外,
string.replace(pattern,replacement)
不会修改
string
,而是返回一个应用了替换的新字符串

您不需要正则表达式来剥离这样的固定字符串,下一个代码将从
code
中删除该字符串一次:

var codeString = '<script type="text/javascript">\n' +
    'document.createElement("img").src="http://www.google.com"\n' +
    '<\/script>';
code = code.replace(codeString, "");
var code字符串='\n'+
'document.createElement(“img”).src='http://www.google.com“\n”+
'';
代码=代码。替换(代码字符串“”);

/codeString/
是一个搜索文本“codeString”的正则表达式,而不是包含模式的变量。另外,
string.replace(pattern,replacement)
不会修改
string
,而是返回一个应用了替换的新字符串

您不需要正则表达式来剥离这样的固定字符串,下一个代码将从
code
中删除该字符串一次:

var codeString = '<script type="text/javascript">\n' +
    'document.createElement("img").src="http://www.google.com"\n' +
    '<\/script>';
code = code.replace(codeString, "");
var code字符串='\n'+
'document.createElement(“img”).src='http://www.google.com“\n”+
'';
代码=代码。替换(代码字符串“”);

你可以从

code.replace(codestring, "");
如果需要是正则表达式,可以使用:

code.replace(new RegExp(codestring, "gm"), "");

但是请注意,regex元字符应该用反斜杠转义。

好的,您可以从

code.replace(codestring, "");
如果需要是正则表达式,可以使用:

code.replace(new RegExp(codestring, "gm"), "");

但是请注意,正则表达式元字符应该用反斜杠转义。

您是否正确转义了正则表达式?您是否正确转义了正则表达式?在这种特殊情况下:
。在这种特殊情况下:
-->\(,
\)
\。
。警告:当您没有定义Doctype时,将
'
/
组合,否则脚本将过早结束。啊,我忘了replace()实际上并没有修改字符串。需要重新分配,而且它起作用了。傻!:)@现在使用
就可以了。请注意,代码是否包含在外部js文件中并不重要。警告:如果没有定义Doctype,请将
'
/
组合,否则脚本将过早结束。啊,我忘了replace()实际上并没有修改字符串。需要重新分配,而且它起作用了。傻!:)@现在使用
就可以了。请注意,代码是否包含在外部js文件中并不重要。