跨浏览器Javascript正则表达式

Dav*_*ell 6 javascript regex cross-browser

我使用以下代码将动态字符串转换为有效的类.

domain.replace('.','_','gi')
Run Code Online (Sandbox Code Playgroud)

这适用于所有主流浏览器,但不适用于Internet Explorer,我想知道为什么.gi标志用于全局和不区分大小写,但删除它们意味着替换在Firefox中也不起作用.

关于我如何改变它以使其更加友好的更多浏览器的任何想法?

Mat*_*nen 10

您需要使用实际的正则表达式而不是字符串:

domain.replace(/\./g, "_")
Run Code Online (Sandbox Code Playgroud)

第三个参数(flags)是非标准的.


jwu*_*ler 7

你需要这样做:

domain.replace(/\./g, '_');
Run Code Online (Sandbox Code Playgroud)