Regex pour les noms avec des caractères spéciaux (Unicode)

Ok, j'ai lu sur les regex tous les jours maintenant, et ne comprends toujours pas correctement. Ce que j'essaie de faire est de valider un nom, mais les fonctions que je peux trouver pour ça sur internet, utilisez uniquement [a-zA-Z]laissant les personnages que j'ai besoin d'accepter.

En gros, j'ai besoin d'une regex qui vérifie que le nom est d'au moins deux mots, et qu'il ne contient pas de chiffres ou de caractères spéciaux comme !"#¤%&/()=...cependant les mots peuvent contenir des caractères comme æ, é, Â et ainsi de suite...

Un exemple d'un nom accepté: "John Elkjærd" ou "André Svenson"
Un non-accepté le nom serait: "Hans", "H4nn3 Andersen" ou "Martin Henriksen!"

Si c'est important je utiliser le javascript .match() fonction côté client et que vous voulez utiliser php preg_replace() seulement "en négatif" côté serveur. (la suppression de la non-correspondance des caractères).

Toute aide serait grandement appréciée.

Mise à jour:
Ok, merci pour Alix Axel réponse j'ai la partie importante vers le bas, le côté serveur.

Mais comme la page de LightWing réponse l'indique, je ne suis pas en mesure de trouver quelque chose sur le support de l'unicode pour le javascript, je me suis donc retrouvé avec la moitié d'une solution pour le côté client, juste vérifier pour au moins deux mots et le minimum de 5 caractères comme ceci:

if(name.match(/\S+/g).length >= minWords && name.length >= 5) {
  //valid
}

Une alternative serait de spécifier tous les caractères unicode comme suggéré dans sournois de la réponseje pourrais faire la même chose, avec la solution ci-dessus, mais c'est un peu infaisable.

source d'informationauteur Kristoffer la Cour