Déterminer si un caractère est alphabétique
À avoir des problèmes avec cette.
Disons que j'ai un paramètre composé d'un seul caractère et je ne veux accepter des caractères alphabétiques. Comment vais-je déterminer que le paramètre passé est un membre de l'alphabet latin (a
–z
)?
Par la voie Im à l'aide de PHP Kohana 3.
Grâce.
source d'informationauteur Ed.
Vous devez vous connecter pour publier un commentaire.
Utiliser la suite de la garde de la clause en haut de votre méthode:
Si vous souhaitez autoriser les majuscules aussi, modifier l'expression régulière en conséquence:
D'une autre manière à la prise en charge de l'insensibilité est d'utiliser le
/i
compte de la casse modificateur:http://php.net/manual/en/function.ctype-alpha.php
Ceci prend également en compte les paramètres régionaux en compte si vous le réglez correctement.
EDIT: Pour être complet, d'autres affiches ici semblent penser que vous devez vous assurer que le paramètre est un caractère unique, ou, sinon, le paramètre n'est pas valide. Pour vérifier la longueur d'une chaîne, vous pouvez utiliser strlen(). Si
strlen()
renvoie non 1 nombre, alors vous pouvez rejeter le paramètre, trop.Comme il est, votre question au moment de la réponse, indique que vous avez un caractère unique paramètre quelque part et que vous voulez vérifier que c'est par ordre alphabétique. J'ai fourni un usage général la solution qui fait cela, et des paramètres régionaux sympa aussi.
Méthode sera de retour int valeur: de aucun match retourne 0 et pour les matchs retours 1.
Vous ne pouvez pas utiliser [a-zA-Z] pour Unicode.
voici l'exemple de travail avec Unicode,
Vous pouvez essayer:
La valeur de retour de la fonction ci-dessus est vrai si $input_char contient un seul alphabet, sinon elle est fausse. Vous pouvez convenablement utiliser la valeur de retour.
J'utiliserais ctype, comme Nick proposé,car il est non seulement plus rapide que les regex, c'est encore plus rapide que la plupart des fonctions de chaîne intégré dans PHP. Mais vous devez également vous assurer que c'est un seul caractère:
Cela aidera je l'espère.C'est une fonction simple en php appelé ctype_alpha