Как заменить специальные символы регулярным выражением в javascript?
Мне нужно заменить специальные символы из строки, например:
this.value = this.value.replace(/\n/g,'');
За исключением части регулярного выражения, мне нужно, чтобы она искала напротив:
[0-9] Найти любую цифру от 0 до 9
[A-Z] Найти любой символ из верхнего регистра A в верхний регистр Z
[a-z] Найти любой символ из строчной буквы a в нижний регистр z
плюс underscore
и minus
.
Следовательно, эта строка в порядке:
Abc054_34-шд
И эта строка плохая:
Fš 04//4.
Из плохой строки мне нужно удалить запрещенные символы.
Как я складываю это правило регулярного выражения?
Ответы
Ответ 1
Вы можете использовать класс символов с ^
отрицанием:
this.value = this.value.replace(/[^a-zA-Z0-9_-]/g,'');
Тесты:
console.log('Abc054_34-bd'.replace(/[^a-zA-Z0-9_-]/g,'')); // Abc054_34-bd
console.log('Fš 04//4.'.replace(/[^a-zA-Z0-9_-]/g,'')); // F044
Итак, поместив символы в [^...]
, вы можете решить, какие символы должны быть разрешены, а все остальные заменены.
Ответ 2
Try:
this.value = this.value.replace(/\w|-/g, '');
Ссылка: