Actualmente estoy tratando de filtrar cualquier carácter defectuoso de una cadena para permitir solo los alfanuméricos, pero también necesito incluir chino, japonés y todos los idiomas no latinos. Después de algunas horas de leer RegEx, estoy más confundido que informado. Actualmente tengo:
let string = 'Test=😕查看 ' + ''; string = string.replace(/[^A-Za-z\d\p{Han}]+$/ug,' '); console.log(string);Sin {Han} todo funciona bien, pero no hay caracteres chinos. ¿Alguna idea? Quiero mantenerlo simple, pero esto parece ser imposible.
Sugiero eliminar todos los caracteres que no sean letras y dígitos:
let string = 'Test=😕查看 '; string = string.replace(/[^\p{L}\p{N}]+/ug,' ').trim(); console.log(string); Si necesita permitir signos diacríticos, agregue \p{M} allí:
string.replace(/[^\p{L}\p{N}\p{M}]+/ug,' ').trim();