2012-10-04 13 views

Odpowiedz

28

Cytat the doc:

Aby przeprowadzić wyszukiwanie globalne i zastąpić albo zawierać przełącznik gw wyrażenie regularne lub jeśli pierwszy parametr jest ciągiem , włącz g w parametrze flags. Uwaga: Argument flagi nie działa w wersji Core 8 (Chrome i Node.js) i zostanie usunięty z przeglądarki Firefox.

Tak powinno być:

"11.111.11".replace(/\./g, ''); 

Ta wersja (w momencie Edit) działa w Firefoksie ...

"11.111.11".replace('.', '', 'g'); 

... ale, jak odnotowane na stronie MDN, jego wsparcie zostanie wkrótce usunięte.

+8

Parametr "flags" w pierwszym przykładzie to nie -standardowe i nie będzie działać w Chrome ani IE. – jvenema

+0

@jvenema Dziękuję, zaktualizowałem odpowiedź, wspominając o tym. Właściwie nigdy nie użyłem łańcuchów w pierwszym parametrze '.replace', gdy potrzebuję globalnej zamiany, więc byłem nieco zaskoczony widząc, że nadal można to zrobić bez modyfikatorów regex.) – raina77ow

+0

Dziękuję, to działa ... To najbardziej niezamierzony kod, jaki kiedykolwiek widziałem w całej mojej karierze: D – SeToY

7

Z wyrażenia regularnego i flagi g Masz oczekiwany rezultat

"11.111.11".replace(/\./g, "") 

ważne, aby użyć wyrażenia regularnego, ponieważ w ten sposób:

"11.111.11".replace('.', '', 'g'); // dont' use it!! 

is not standard

1

Przede wszystkim wymienić () jest funkcją javascript, a nie funkcją jquery.

Powyższy kod zastępuje tylko pierwsze wystąpienie "." (nie każde wystąpienie). Aby zastąpić każde wystąpienie ciągu znaków w JavaScript, musisz podać metodę replace() jako wyrażenie regularne z globalnym modyfikatorem jako pierwszym parametrem, takim jak:

"11.111.11".replace(/\./g,'') 
Powiązane problemy