Entonces, si alguna vez necesita una expresión regular para verificar si un nombre se ingresó correctamente, por ejemplo, y desea que solo permita acentos y caracteres latinos, aquí tiene una solución:
\^([A-Za-zÀ-ÖØ-Ý]){2,20}$\
Pero te debo una explicación de por qué tenemos À-ÖØ-Ý
y no solo À-Ý
En primer lugar, esta explicación es exclusiva para principiantes:
Cuando usa [AZ], captura cualquier carácter ASCII entre A y Z: captura un rango .
Si observa el mapa de caracteres Unicode U0000/tabla ASCII (ver a continuación), notará que coincide exactamente con todas las mayúsculas.
De la misma manera, puedes capturar las 4 últimas líneas del Unicode U0080:
Sin embargo, puede darse cuenta de que los símbolos de multiplicación (×) y división (÷) están dentro de ese rango.
Lo cual es un problema porque los usuarios (especialmente los usuarios de dispositivos móviles) podrían pasar por alto la regla de "solo letras latinas".
Entonces, para solucionar este problema, necesitamos crear 2 rangos de caracteres que excluyan estos 2 caracteres.
Por lo tanto, ¿por qué À-ÖØ-Ý
para letras mayúsculas con acentos y à-öø-ÿ
para letras minúsculas con acentos?
¡Espero que esto sea útil para algunas personas!
¡Si tienes alguna pregunta no dudes en hacerla!
Fuentes:
https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
https://fr.wikipedia.org/wiki/Table_des_caract%C3%A8res_Unicode/U0080
Saúl Orozco Álvarez
Saúl Orozco Álvarez