PHP les lettres et les espaces seule la validation
Je suis la validation de mon formulaire de contact en PHP et j'ai utilisé le code suivant:
if (ctype_alpha($name) === false) {
$errors[] = 'Name must only contain letters!';
}
Ce code fonctionne très bien, mais il plus valide et ne permet pas d'espaces. J'ai essayé ctype_alpha_s
et qui vient avec une erreur fatale.
Toute aide serait grandement appréciée
Quid des traits d'union et apostrophes/backticks. Ceux sont des caractères valides dans les noms.
et que dire de
et que dire de
John O'Reily
ou Björk Guðmundsdóttir
ou A'ishah-Yunus
OriginalL'auteur Andy Buckle | 2013-03-11
Vous devez vous connecter pour publier un commentaire.
Regex est exagéré, et effectuera de pire pour une telle tâche simple, pensez à utiliser natif fonctions de chaîne:
Cette bande espaces avant l'exécution de l'alpha vérifier. Si les onglets et les nouvelles lignes sont une question que vous pourriez envisager d'utiliser ceci à la place:
OriginalL'auteur Martin
ctype_alpha vérifie uniquement les lettres
[A-Za-z]
Si vous voulez l'utiliser pour votre usage, d'abord u faudra supprimer les espaces de votre chaîne, puis appliquer ctype_alpha.
Mais je voudrais aller preg_match de vérifier pour la validation. Vous pouvez faire quelque chose comme cela.
OriginalL'auteur V_K
OriginalL'auteur Jinia
L'un pour l'UTF-8 qui correspondent à des espaces et des lettres à partir de n'importe quelle langue.
Explication:
causes des séquences d'échappement pour correspondre à des caractères unicode
Cela correspond également à des noms comme Björk Guðmundsdóttir comme indiqué dans un commentaire de Anthony Hatzopoulos ci-dessus.
OriginalL'auteur Epiphany