Quero remover caracteres especiais de uma string e substituí-los pelo _
caractere.
Por exemplo:
string = "img_realtime_tr~ading3$"
A string resultante deve ser semelhante a "img_realtime_tr_ading3_";
Preciso substituir esses caracteres: & / \ # , + ( ) $ ~ % .. ' " : * ? < > { }
javascript
jquery
user1049997
fonte
fonte
Respostas:
string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_');
Como alternativa, para alterar todos os caracteres, exceto números e letras, tente:
string = string.replace(/[^a-zA-Z0-9]/g,'_');
fonte
!
está faltando na primeira linha.\-
e=
também ausente :)hello! word
você vai acabar com dois sublinhados consecutivos como estehello__word
, você pode fazer isso:string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/__/g,'_');
string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/_{2,}/g,'_');
se você não sabe quantos sublinhados consecutivosstring = string.replace(/[\W_]/g, "_");
fonte