2010-12-06 6 views
6

다음 코드를 사용하여 동적 문자열을 유효한 클래스로 변환하고 있습니다.크로스 브라우저 Javascript 정규식

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

이것은 모든 주요 브라우저에서 정상적으로 작동하지만 Internet Explorer에서는 정상적으로 작동하지 않으며 그 이유는 궁금합니다. gi 플래그는 전역 및 대소 문자를 구분하지 않으므로 제거하면 Firefox에서 대체가 작동하지 않습니다.

더 많은 브라우저에서 더 친숙하게 만들기 위해 어떻게 변경합니까?

+1

어떤 일이 발생하거나 또는 어떤 일이 발생하지 않습니까? 예상되고 실제적인 결과는 무엇입니까? –

답변

10

당신은 대신 문자열의 실제 정규 표현식을 사용해야합니다 : 비표준는

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

세 번째 인수 (플래그)입니다 .

+0

@elusive : 도트에 'i'플래그가 필요한 이유는 무엇입니까? –

+0

좋은 지적. 나는 그것을 제출 한 후 몇 초 만에 그것을 알아 냈다. 미안합니다. +1 표준 이외의 힌트;) – jwueller

+0

크래킹! 그게 내가 놓친거야. 6 분 안에 수락 할 것입니다 :) –

7

당신은 이런 식으로 작업을 수행해야합니다

domain.replace(/\./g, '_'); 
관련 문제