Saltar al contenido

Eliminar todos los caracteres especiales con RegExp

Haz todo lo posible por interpretar el código correctamente previamente a adaptarlo a tu proyecto y si tquieres aportar algo puedes decirlo en los comentarios.

Solución:

var desired = stringToReplace.replace(/[^ws]/gi, '')

Como se mencionó en los comentarios, es más fácil hacer esto como una lista blanca: reemplace los caracteres que no son en su lista de seguridad.

El signo de intercalación^) carácter es la negación del conjunto [...], gi digamos global y no distingue entre mayúsculas y minúsculas (este último es un poco redundante, pero quería mencionarlo) y la lista segura en este ejemplo son dígitos, caracteres de palabra, guiones bajos (w) y espacios en blanco (s).

Tenga en cuenta que si aún desea excluir un conjunto, incluidos elementos como barras y caracteres especiales, puede hacer lo siguiente:

var outString = sourceString.replace(/[`[email protected]#$%^&*()_|+-=?;:'",.<>\[]\/]/gi, '');

tenga en cuenta que para incluir también el carácter “menos”, debe escapar con una barra invertida como el último grupo. si no lo hace, también seleccionará 0-9, lo que probablemente no sea el deseado.

La expresión regular de Javascript simple no maneja letras Unicode.

No utilice [^ws], esto eliminará las letras con acentos (como àèéìòù), sin mencionar el cirílico o el chino, las letras provenientes de dichos idiomas se eliminarán por completo.

Realmente no desea eliminar estas letras junto con todos los caracteres especiales. Tienes dos posibilidades:

  • Agregue en su expresión regular todos los caracteres especiales que no desea eliminar,
    por ejemplo: [^èéòàùìws].
  • Eche un vistazo a xregexp.com. XRegExp agrega soporte básico para la coincidencia Unicode a través del p... sintaxis.
var str = "Їжак::: résd,$%& adùf"
var search = XRegExp('([^?\pL ]+)');
var res = XRegExp.replace(str, search, '',"all");

console.log(res); // returns "Їжак::: resd,adf"
console.log(str.replace(/[^ws]/gi, '') ); // returns " rsd adf"
console.log(str.replace(/[^wèéòàùìs]/gi, '') ); // returns " résd adùf"

Sección de Reseñas y Valoraciones

Ten en cuenta dar difusión a este tutorial si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *