2010-09-07 3 views
5

Я пытаюсь удалить любые символы, кроме 0-9 A-Z A-Z ....Почему мой javascript .replace() работает?

var file_name = file.name; 
file_name = file_name.replace(/[^A-Z0-9\._\-]/i, ''); 

какой-либо очевидной причины выше не работает?

+0

Вы должны показать данные ввода и вывода. –

ответ

13

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

file_name = file_name.replace(/[^A-Z0-9\._\-]/gi, ''); 
+0

спасибо, забыли об этом! – Haroldo

+0

Добро пожаловать;) – jwueller

0

Дайте Regexr идти. Наведите курсор на флажки в текстовом поле вверху, чтобы просмотреть параметры, которые у вас есть. Посмотрите на нижнюю панель, чтобы увидеть сгенерированное Regex.

Смежные вопросы