Quiero eliminar los caracteres especiales de una cadena y reemplazarlos con el _
carácter.
Por ejemplo:
string = "img_realtime_tr~ading3$"
La cadena resultante debería verse como "img_realtime_tr_ading3_";
Necesito reemplazar esos caracteres: & / \ # , + ( ) $ ~ % .. ' " : * ? < > { }
javascript
jquery
usuario1049997
fuente
fuente
Respuestas:
string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_');
Alternativamente, para cambiar todos los caracteres excepto números y letras, intente:
string = string.replace(/[^a-zA-Z0-9]/g,'_');
fuente
!
Sin embargo, falta en la primera línea.\-
y=
también falta :)hello! word
, terminará con dos guiones bajos consecutivos como estehello__word
, puede hacer esto:string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/__/g,'_');
string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/_{2,}/g,'_');
si no sabe cuántos guiones bajos consecutivosstring = string.replace(/[\W_]/g, "_");
fuente