Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des chiffres, des lettres majuscules ou minuscules et des espaces dans une chaine ?
Il y a plusieurs façons de le faire. Voici quelques exemples (à vérifier quand même car il m'arrive de raconter des bêtises quand je ne teste pas un code).
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des
chiffres, des lettres majuscules ou minuscules et des espaces dans une
chaine ?
Il y a plusieurs façons de le faire. Voici quelques exemples (à vérifier
quand même car il m'arrive de raconter des bêtises quand je ne teste pas
un code).
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des chiffres, des lettres majuscules ou minuscules et des espaces dans une chaine ?
Il y a plusieurs façons de le faire. Voici quelques exemples (à vérifier quand même car il m'arrive de raconter des bêtises quand je ne teste pas un code).
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des chiffres, des lettres majuscules ou minuscules et des espaces dans une chaine ?
Il y a plusieurs façons de le faire. Voici quelques exemples
Les exemples à coups de fonctions de chaînes sont rigolos et en plus ils ont l'air de marcher :-)
Par contre, les exemples de regex me semblent bizarres :
(preg_match('/^'.OK_CHARS.'*$/', $str) == 1) n'acceptera que les chaînes du genre :
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ou "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " ou "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " etc.
Pourquoi ne pas faire plutôt : (preg_match('/[^a-z0-9 ]/i', $str) === 0)
eça -- P'tit Marcel
Olivier Miakinen wrote:
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des
chiffres, des lettres majuscules ou minuscules et des espaces dans une
chaine ?
Il y a plusieurs façons de le faire. Voici quelques exemples
Les exemples à coups de fonctions de chaînes sont rigolos et en plus ils
ont l'air de marcher :-)
Par contre, les exemples de regex me semblent bizarres :
(preg_match('/^'.OK_CHARS.'*$/', $str) == 1)
n'acceptera que les chaînes du genre :
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
ou
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
ou
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
etc.
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des chiffres, des lettres majuscules ou minuscules et des espaces dans une chaine ?
Il y a plusieurs façons de le faire. Voici quelques exemples
Les exemples à coups de fonctions de chaînes sont rigolos et en plus ils ont l'air de marcher :-)
Par contre, les exemples de regex me semblent bizarres :
(preg_match('/^'.OK_CHARS.'*$/', $str) == 1) n'acceptera que les chaînes du genre :
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ou "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " ou "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ " etc.
Savez vous quelle commande utiliser pour vérifier qu'il n'y a que des chiffres, des lettres majuscules ou minuscules et des espaces dans une chaine ?
J'ai appris hier en lisant ce forum que l'on pouvait utiliser les fonctions : ctype_digit()
ctype_alnum()
ctype_alpha()
ctype_upper()
ctype_lower()
Il faut aussi vérifier que la locale est bien réglée ( setlocale() ) pour que soient pris en compte les caractères accentués.
Olivier Miakinen
Les exemples à coups de fonctions de chaînes sont rigolos et en plus ils ont l'air de marcher :-)
Par contre, les exemples de regex me semblent bizarres :
Je savais bien que j'allais me tromper quelque part, et pourtant j'ai relu chaque exemple au moins trois fois (mais il était à peu près la même heure que maintenant).
(preg_match('/^'.OK_CHARS.'*$/', $str) == 1)
Je voulais écrire : (preg_match('/^['.OK_CHARS.']*$/', $str) == 1)
Je n'avais pas bien lu l'énoncé. Note que j'étais cohérent avec moi-même puisque j'avais omis les chiffres *aussi* dans la constante OK_CHARS.
Pourquoi ne pas faire plutôt : (preg_match('/[^a-z0-9 ]/i', $str) === 0)
Ça me semble bien aussi. À rajouter à la liste, donc. D'autres idées ?
Les exemples à coups de fonctions de chaînes sont rigolos et en plus ils
ont l'air de marcher :-)
Par contre, les exemples de regex me semblent bizarres :
Je savais bien que j'allais me tromper quelque part, et pourtant j'ai
relu chaque exemple au moins trois fois (mais il était à peu près la
même heure que maintenant).
(preg_match('/^'.OK_CHARS.'*$/', $str) == 1)
Je voulais écrire :
(preg_match('/^['.OK_CHARS.']*$/', $str) == 1)
Les exemples à coups de fonctions de chaînes sont rigolos et en plus ils ont l'air de marcher :-)
Par contre, les exemples de regex me semblent bizarres :
Je savais bien que j'allais me tromper quelque part, et pourtant j'ai relu chaque exemple au moins trois fois (mais il était à peu près la même heure que maintenant).
(preg_match('/^'.OK_CHARS.'*$/', $str) == 1)
Je voulais écrire : (preg_match('/^['.OK_CHARS.']*$/', $str) == 1)