J'ai écrit une fonction simple pour vérifier si la chaîne que j'envoie "devrait être" valide ou non.Comment fonctionne preg_match exactement?
// this works without problems
function validate_email ($value) {
return preg_match ("/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/", $value);
}
// this doesn't work
function validate_string ($value) {
return preg_match ("([^<>?=/\]+)", $value);
}
la première fonction fonctionne bien, si j'envoie un e-mail à validate_email
Je suis habitué à retenir valide, il me retourne 1
ou 0
sinon.
validate_string
devrait faire la même chose avec des chaînes de toutes sortes, mais sans ? = < >/\
. Si je vérifie la fonction il me retourne 1 dans n'importe quel cas, pourquoi?
validate_string ("tonino"); // return 1 ok
validate_string ("ton\ino\"); // return 1 why?
validate_string ("ton?asd=3"); // return 1 why?
le ^
omble intérieur ([^<>?=/]+)
devrait signifier pas les caractères après (ou non?)
Cette vérification par courriel ne fonctionne pas sans problème. Il ne correspond pas à [email protected] pour les débutants. – Quentin
oui, il valide les adresses avec une extension pas plus de 4 caractères, est .museum une extension valide? – vitto
Il est, avec des noms comme ".mobi" ou ".xn - 0zwm56d": http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains –