正则表达式根本不适用于IE 8,9和10

use*_*420 0 javascript regex internet-explorer replace

这是我们要替换的文字:

<A href="http://domain.com"><IMG src="https://domain.com/images/siteheader.jpg"></A>
Run Code Online (Sandbox Code Playgroud)

使用javascript .replace,我们尝试使用以下内容替换为空格:

.replace ("/<A href=\"http:\/\/domain.com\"><IMG src=\"https:\/\/domain.com\/images\/siteheader.jpg\"><\/A>/i"," ");
Run Code Online (Sandbox Code Playgroud)

在所有其他浏览器中,这似乎有效,但不适用于IE.我甚至尝试使用这个在线正则表达式验证器:http://www.online-toolz.com/tools/regexp-editor.php,它说它有效.有点难过.IE正在做一些超出常规的事情吗?

T.J*_*der 6

可以使用字符串(字面形式看起来像"...")正则表达式(字面形式看起来像/.../)replace.你试图同时做两件事.删除引号:

.replace (/<A href="http:\/\/domain.com"><IMG src="https:\/\/domain.com\/images\/siteheader.jpg"><\/A>/i, " ");
Run Code Online (Sandbox Code Playgroud)

当你使用一个字符串时,它只是字面上匹配,没有进行正则表达式处理.

我还没有验证正则表达式的全部内容,只是删除了周围"并删除\了嵌入式的前面".