Acceptez les caractères de noms internationaux dans RegEx

J'ai toujours eu du mal avec la RegEx, donc pardonnez-moi si cela peut sembler comme un affreux approche à résoudre mon problème.

Lorsque les utilisateurs sont en entrant les noms et les prénoms, j'ai commencé par juste en utilisant la base, vérifier les majuscules et les minuscules, espaces, apostrophes et tirets

if (!preg_match("/^[a-zA-Z\s'-]+$/", $name)) { //Error }

Maintenant, je constate que ce n'est pas le meilleur puisque les gens pouvaient avoir des choses telles que: le Dr Martin Luther King, Jr (avec la virgule et fullstops). Je suppose qu'en le modifiant pour cela le rendrait un peu plus efficace.

if (!preg_match("/^[a-zA-Z\s,.'-]+$/", $name)) { //Error }

J'ai alors vu une fille le nom je sais que sur mon Facebook qui écrit son nom comme Siân, qui m'a fait penser de noms qui contiennent des accents ainsi comme le disent les Chinois/Japonais/coréen/russe personnages trop. J'ai donc commencé à chercher et trouvé des façons par l'écriture de chacun de ces personnages là comme si.

if (!preg_match("/^[a-zA-Z\sàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð ,.'-]+$/u", $first_name)) { //Error }

Comme vous pouvez l'imaginer, il est extrêmement longue haleine et je suis assez certain qu'il y est beaucoup plus simple RegEx qui peut atteindre cet objectif. Comme je l'ai dit, j'ai cherché un peu partout mais c'est le mieux que je puisse faire.

Donc, ce qui est un bon moyen de vérifier les majuscules et les minuscules, des virgules, des points, des apostrophes, des hypens, les trémas, Latin, Japonais, russe, etc

source d'informationauteur Joe