2010-12-06 2 views
6

Я использую следующий код для преобразования динамической строки в действительный класс.Перекрестный браузер Javascript regex

domain.replace('.','_','gi') 

Это прекрасно работает во всех основных браузерах, но не в Internet Explorer, и мне интересно, почему. Флаги gi предназначены для глобальных и нечувствительных к регистру, но их удаление означает, что замена также не работает в Firefox.

Любые идеи о том, как я меняю это, чтобы сделать его более дружелюбным с большим количеством броузеров?

+1

Что происходит или не происходит? Каков ожидаемый и фактический результат? – 2010-12-06 17:59:51

ответ

10

Вы должны будете использовать фактическое регулярное выражение вместо строки:

domain.replace(/\./g, "_") 

Третий аргумент (флагов) является нестандартным ,

+0

@elusive: Зачем вам нужен флаг `i` для точки? – 2010-12-06 18:03:58

7

Вы должны сделать это так:

domain.replace(/\./g, '_'); 
Смежные вопросы