Замените специальные символы в строке символом _ (подчеркивание)

Я хочу удалить специальные символы из строки и заменить их символом _.

Например:

string = "img_realtime_tr~ading3$"

Полученная строка должна выглядеть как "img_realtime_tr_ading3_";

Мне нужно заменить эти символы: & / \ # , + ( ) $ ~ % .. ' " : * ? < > { }

Ответ 1

string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_');

Легко.

В качестве альтернативы, чтобы изменить все символы, кроме цифр и букв, попробуйте:

string = string.replace(/[^a-zA-Z0-9]/g,'_');