
6 changed files with 515 additions and 254 deletions
@ -1,70 +1,85 @@
|
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/verifier/lang/ |
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
|
||||
// E |
||||
'erreur_code_postal' => 'Ce code postal est incorrect.', |
||||
'erreur_date' => 'La date n\'est pas valide.', |
||||
'erreur_date_format' => 'Le format de la date n\'est pas accepté.', |
||||
'erreur_decimal' => 'La valeur doit être un nombre décimal.', |
||||
'erreur_decimal_nb_decimales' => 'Le nombre ne doit pas avoir plus de @nb_decimales@ chiffres après la virgule.', |
||||
'erreur_email' => 'L\'adresse de courriel <em>@email@</em> n\'a pas un format valide.', |
||||
'erreur_email_nondispo' => 'L\'adresse de courriel <em>@email@</em> est déjà utilisée.', |
||||
'erreur_entier' => 'La valeur doit être un entier.', |
||||
'erreur_entier_entre' => 'La valeur doit être comprise entre @min@ et @max@.', |
||||
'erreur_entier_max' => 'La valeur doit être inférieure à @max@.', |
||||
'erreur_entier_min' => 'La valeur doit être supérieure à @min@.', |
||||
'erreur_id_document' => 'Cet identifiant de document n\'est pas valide.', |
||||
'erreur_numerique' => 'Le format du nombre n\'est pas valide.', |
||||
'erreur_regex' => 'Le format de la chaîne n\'est pas valide.', |
||||
'erreur_siren' => 'Le numéro de SIREN n\'est pas valide.', |
||||
'erreur_siret' => 'Le numéro de SIRET n\'est pas valide.', |
||||
'erreur_taille_egal' => 'La valeur doit comprendre exactement @egal@ caractères.', |
||||
'erreur_taille_entre' => 'La valeur doit comprendre entre @min@ et @max@ caractères.', |
||||
'erreur_taille_max' => 'La valeur doit comprendre au maximum @max@ caractères.', |
||||
'erreur_taille_min' => 'La valeur doit comprendre au minimum @min@ caractères.', |
||||
'erreur_telephone' => 'Le numéro n\'est pas valide.', |
||||
'erreur_url' => 'L\'adresse n\\\'est pas valide.', |
||||
|
||||
// O |
||||
'option_decimal_nb_decimales_label' => 'Nombre de décimales après la virgule', |
||||
'option_email_disponible_label' => 'Adresse disponible', |
||||
'option_email_disponible_label_case' => 'Vérifier que l\'adresse n\'est pas déjà utilisée par un utilisateur', |
||||
'option_email_mode_5322' => 'Vérification la plus conforme aux standards disponibles', |
||||
'option_email_mode_label' => 'Mode de vérification des courriels', |
||||
'option_email_mode_normal' => 'Vérification normale de SPIP', |
||||
'option_email_mode_strict' => 'Vérification moins permissive', |
||||
'option_entier_max_label' => 'Valeur maximum', |
||||
'option_entier_min_label' => 'Valeur minimum', |
||||
'option_regex_modele_label' => 'La valeur doit correspondre au masque suivant', |
||||
'option_siren_siret_mode_label' => 'Que voulez-vous vérifier ?', |
||||
'option_siren_siret_mode_siren' => 'le SIREN', |
||||
'option_siren_siret_mode_siret' => 'le SIRET', |
||||
'option_taille_max_label' => 'Taille maximum', |
||||
'option_taille_min_label' => 'Taille minimum', |
||||
|
||||
// T |
||||
'type_date' => 'Date', |
||||
'type_date_description' => 'Vérifie que la valeur est une date au format JJ/MM/AAAA. Le séparateur est libre (".", "/", etc).', |
||||
'type_decimal' => 'Nombre décimal', |
||||
'type_decimal_description' => 'Vérifie que la valeur est un nombre décimal, avec la possibilité de restreindre entre deux valeurs et de préciser le nombre de décimales après la virgule.', |
||||
'type_email' => 'Adresse de courriel', |
||||
'type_email_description' => 'Vérifie que l\'adresse de courriel a un format correct.', |
||||
'type_email_disponible' => 'Disponibilité d\'une adresse de courriel', |
||||
'type_email_disponible_description' => 'Vérifie que l\'adresse de courriel n\'est pas déjà utilisé par un autre utilisateur du système.', |
||||
'type_entier' => 'Nombre entier', |
||||
'type_entier_description' => 'Vérifie que la valeur est un entier, avec la possibilité de restreindre entre deux valeurs.', |
||||
'type_regex' => 'Expression régulière', |
||||
'type_regex_description' => 'Vérifie que la valeur correspond au masque demandé. Pour l\'utilisation des masques, reportez-vous à <a href="http://fr2.php.net/manual/fr/reference.pcre.pattern.syntax.php">l\'aide en ligne de PHP</a>.', |
||||
'type_siren_siret' => 'SIREN ou SIRET', |
||||
'type_siren_siret_description' => 'Vérifie que la valeur est un numéro valide du <a href="http://fr.wikipedia.org/wiki/SIREN">Système d’Identification du Répertoire des ENtreprises</a> français.', |
||||
'type_taille' => 'Taille', |
||||
'type_taille_description' => 'Vérifie que la taille de la valeur correspond au minimum et/ou au maximum demandé.', |
||||
'type_telephone' => 'Numéro de téléphone', |
||||
'type_telephone_description' => 'Vérifie que le numéro de téléphone correspond à un schéma reconnu.' |
||||
); |
||||
|
||||
?> |
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/verifier/lang/ |
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
|
||||
// E |
||||
'erreur_code_postal' => 'Ce code postal est incorrect.', |
||||
'erreur_date' => 'La date n\'est pas valide.', |
||||
'erreur_date_format' => 'Le format de la date n\'est pas accepté.', |
||||
'erreur_decimal' => 'La valeur doit être un nombre décimal.', |
||||
'erreur_decimal_nb_decimales' => 'Le nombre ne doit pas avoir plus de @nb_decimales@ chiffres après la virgule.', |
||||
'erreur_email' => 'L\'adresse de courriel <em>@email@</em> n\'a pas un format valide.', |
||||
'erreur_email_nondispo' => 'L\'adresse de courriel <em>@email@</em> est déjà utilisée.', |
||||
'erreur_entier' => 'La valeur doit être un entier.', |
||||
'erreur_entier_entre' => 'La valeur doit être comprise entre @min@ et @max@.', |
||||
'erreur_entier_max' => 'La valeur doit être inférieure à @max@.', |
||||
'erreur_entier_min' => 'La valeur doit être supérieure à @min@.', |
||||
'erreur_id_document' => 'Cet identifiant de document n\'est pas valide.', |
||||
'erreur_numerique' => 'Le format du nombre n\'est pas valide.', |
||||
'erreur_regex' => 'Le format de la chaîne n\'est pas valide.', |
||||
'erreur_siren' => 'Le numéro de SIREN n\'est pas valide.', |
||||
'erreur_siret' => 'Le numéro de SIRET n\'est pas valide.', |
||||
'erreur_taille_egal' => 'La valeur doit comprendre exactement @egal@ caractères.', |
||||
'erreur_taille_entre' => 'La valeur doit comprendre entre @min@ et @max@ caractères.', |
||||
'erreur_taille_max' => 'La valeur doit comprendre au maximum @max@ caractères.', |
||||
'erreur_taille_min' => 'La valeur doit comprendre au minimum @min@ caractères.', |
||||
'erreur_telephone' => 'Le numéro n\'est pas valide.', |
||||
'erreur_url' => 'L\'adresse <em>@url@</em> n\'est pas valide.', |
||||
'erreur_url_protocole' => 'L\'adresse saisie <em>(@url@)</em> doit commencer par @protocole@', |
||||
'erreur_url_protocole_exact' => 'L\'adresse saisie <em>(@url@)</em> ne commence pas par un protocole valide (http:// par exemple)', |
||||
|
||||
// O |
||||
'option_decimal_nb_decimales_label' => 'Nombre de décimales après la virgule', |
||||
'option_email_disponible_label' => 'Adresse disponible', |
||||
'option_email_disponible_label_case' => 'Vérifier que l\'adresse n\'est pas déjà utilisée par un utilisateur', |
||||
'option_email_mode_5322' => 'Vérification la plus conforme aux standards disponibles', |
||||
'option_email_mode_label' => 'Mode de vérification des courriels', |
||||
'option_email_mode_normal' => 'Vérification normale de SPIP', |
||||
'option_email_mode_strict' => 'Vérification moins permissive', |
||||
'option_entier_max_label' => 'Valeur maximum', |
||||
'option_entier_min_label' => 'Valeur minimum', |
||||
'option_regex_modele_label' => 'La valeur doit correspondre au masque suivant', |
||||
'option_siren_siret_mode_label' => 'Que voulez-vous vérifier ?', |
||||
'option_siren_siret_mode_siren' => 'le SIREN', |
||||
'option_siren_siret_mode_siret' => 'le SIRET', |
||||
'option_taille_max_label' => 'Taille maximum', |
||||
'option_taille_min_label' => 'Taille minimum', |
||||
'option_url_mode_complet' => 'Vérification complète de l\'url', |
||||
'option_url_mode_label' => 'Mode de vérification des urls', |
||||
'option_url_mode_php_filter' => 'Vérification complète de l\'url via le filtre FILTER_VALIDATE_URL de php', |
||||
'option_url_mode_protocole_seul' => 'Vérification uniquement de la présence d\'un protocole', |
||||
'option_url_protocole_label' => 'Nom du protocole à vérifier', |
||||
'option_url_type_protocole_label' => 'Type de protocole à vérifier', |
||||
'option_url_type_protocole_tous' => 'Tous protocoles acceptés', |
||||
'option_url_type_protocole_web' => 'Protocoles web : http ou https', |
||||
'option_url_type_protocole_mail' => 'Protocoles mail : imap, pop3 ou smtp', |
||||
'option_url_type_protocole_ftp' => 'Protocoles ftp : ftp ou sftp', |
||||
'option_url_type_protocole_exact' => 'Saisir un protocole ci-dessous :', |
||||
|
||||
// T |
||||
'type_date' => 'Date', |
||||
'type_date_description' => 'Vérifie que la valeur est une date au format JJ/MM/AAAA. Le séparateur est libre (".", "/", etc).', |
||||
'type_decimal' => 'Nombre décimal', |
||||
'type_decimal_description' => 'Vérifie que la valeur est un nombre décimal, avec la possibilité de restreindre entre deux valeurs et de préciser le nombre de décimales après la virgule.', |
||||
'type_email' => 'Adresse de courriel', |
||||
'type_email_description' => 'Vérifie que l\'adresse de courriel a un format correct.', |
||||
'type_email_disponible' => 'Disponibilité d\'une adresse de courriel', |
||||
'type_email_disponible_description' => 'Vérifie que l\'adresse de courriel n\'est pas déjà utilisé par un autre utilisateur du système.', |
||||
'type_entier' => 'Nombre entier', |
||||
'type_entier_description' => 'Vérifie que la valeur est un entier, avec la possibilité de restreindre entre deux valeurs.', |
||||
'type_regex' => 'Expression régulière', |
||||
'type_regex_description' => 'Vérifie que la valeur correspond au masque demandé. Pour l\'utilisation des masques, reportez-vous à <a href="http://fr2.php.net/manual/fr/reference.pcre.pattern.syntax.php">l\'aide en ligne de PHP</a>.', |
||||
'type_siren_siret' => 'SIREN ou SIRET', |
||||
'type_siren_siret_description' => 'Vérifie que la valeur est un numéro valide du <a href="http://fr.wikipedia.org/wiki/SIREN">Système d’Identification du Répertoire des ENtreprises</a> français.', |
||||
'type_taille' => 'Taille', |
||||
'type_taille_description' => 'Vérifie que la taille de la valeur correspond au minimum et/ou au maximum demandé.', |
||||
'type_telephone' => 'Numéro de téléphone', |
||||
'type_telephone_description' => 'Vérifie que le numéro de téléphone correspond à un schéma reconnu.', |
||||
'type_url' => 'URL', |
||||
'type_url_description' => 'Vérifie que l\'url correspond à un schéma reconnu.' |
||||
); |
||||
|
||||
?> |
||||
|
@ -1,159 +1,260 @@
|
||||
<html> |
||||
<body> |
||||
<h1>Test de vérification de valeurs</h1> |
||||
|
||||
<h2>Vérifions qu'un mot est un mot :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$verifier = charger_fonction('verifier','inc'); |
||||
|
||||
$un_mot = "poli4_EFSdq89"; |
||||
$un_autre_mot = "aqe edioj o^"; |
||||
$modele = "/^[\w]+$/"; |
||||
|
||||
echo "Modèle => $modele\n\n"; |
||||
echo "'$un_mot' ?"; |
||||
var_dump($verifier($un_mot, 'regex', array('modele'=>$modele))); |
||||
echo "'$un_autre_mot' ?"; |
||||
var_dump($verifier($un_autre_mot, 'regex', array('modele'=>$modele))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des entiers :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$un_entier = 568; |
||||
$un_autre_entier = "-89"; |
||||
|
||||
echo "$un_entier entre 0 et 1000 ?"; |
||||
var_dump($verifier($un_entier, 'entier', array('min'=>0, 'max'=>1000))); |
||||
echo "$un_entier < 100 ?"; |
||||
var_dump($verifier($un_entier, 'entier', array('max'=>100))); |
||||
echo "$un_autre_entier est positif ?"; |
||||
var_dump($verifier($un_autre_entier, 'entier', array('min'=>0))); |
||||
echo "$un_autre_entier entre -100 et -50 ?"; |
||||
var_dump($verifier($un_autre_entier, 'entier', array('min'=>-100, 'max'=>-50))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions une taille d'une chaîne :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$une_chaine = "123456"; |
||||
$un_autre_chaine = "abc"; |
||||
|
||||
echo "$une_chaine de 1 à 3 caractères ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('min'=>1, 'max'=>3))); |
||||
echo "$une_chaine 5 caractères max ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('max'=>5))); |
||||
echo "$une_chaine 4 caractères mini ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('min'=>4))); |
||||
echo "$un_autre_chaine de 1 à 3 caractères ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('min'=>1, 'max'=>3))); |
||||
echo "$un_autre_chaine 5 caractères max ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('max'=>5))); |
||||
echo "$un_autre_chaine 4 caractères mini ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('min'=>4))); |
||||
echo "$une_chaine de 3 caractères ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('egal'=>3))); |
||||
echo "$un_autre_chaine de 3 caractères ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('egal'=>3))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
|
||||
<h2>Vérifions des emails :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$email = "test@test.fr"; |
||||
$email2 = "test@b"; |
||||
$email3 = "test"; |
||||
|
||||
echo "Valide SPIP : $email ?"; |
||||
var_dump($verifier($email, 'email')); |
||||
echo "Valide SPIP : $email2 ?"; |
||||
var_dump($verifier($email2, 'email')); |
||||
echo "Valide SPIP : $email3 ?"; |
||||
var_dump($verifier($email3, 'email')); |
||||
|
||||
echo "Valide Strict : $email ?"; |
||||
var_dump($verifier($email, 'email',array('mode'=>'strict'))); |
||||
echo "Valide Strict : $email2 ?"; |
||||
var_dump($verifier($email2, 'email',array('mode'=>'strict'))); |
||||
echo "Valide Strict : $email3 ?"; |
||||
var_dump($verifier($email3, 'email',array('mode'=>'strict'))); |
||||
|
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des téléphones :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$telephone = "01.01/01-02 03"; |
||||
$telephone2 = "090909"; |
||||
$telephone3 = "10 01 01 01 01"; |
||||
|
||||
echo "Téléphone : $telephone ?"; |
||||
var_dump($verifier($telephone, 'telephone_fr')); |
||||
echo "Téléphone : $telephone2 ?"; |
||||
var_dump($verifier($telephone2, 'telephone_fr')); |
||||
echo "Téléphone : $telephone3 ?"; |
||||
var_dump($verifier($telephone3, 'telephone_fr')); |
||||
|
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
|
||||
<h2>Vérifions des SIREN/SIRET :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$siren_valide = "321227852"; |
||||
$siren_non_valide = "321227822"; |
||||
$siret_valide = "32122785200019"; |
||||
$siret_non_valide = "32122785200033"; |
||||
|
||||
echo "SIREN : $siren_valide ?"; |
||||
var_dump($verifier($siren_valide, 'siren_siret')); |
||||
echo "SIREN : $siren_non_valide ?"; |
||||
var_dump($verifier($siren_non_valide, 'siren_siret')); |
||||
|
||||
echo "SIRET : $siret_valide ?"; |
||||
var_dump($verifier($siret_valide, 'siren_siret',array('mode'=>'siret'))); |
||||
echo "SIRET : $siret_non_valide ?"; |
||||
var_dump($verifier($siret_non_valide, 'siren_siret',array('mode'=>'siret'))); |
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des DATES :</h2> |
||||
<pre> |
||||
<?php |
||||
$date_valide = "30-01-2009"; |
||||
$date_non_valide = "321227822"; |
||||
$date_non_valide2 = "29-02-2011"; |
||||
$date_valide2 = "29-02-2012"; |
||||
|
||||
echo "Date JJ/MM/AAAA (avec séparateur /.-) : $date_valide ?"; |
||||
var_dump($verifier($date_valide, 'date')); |
||||
echo "Date JJ/MM/AAAA : $date_non_valide ?"; |
||||
var_dump($verifier($date_non_valide, 'date')); |
||||
echo "Date JJ/MM/AAAA : $date_non_valide2 ?"; |
||||
var_dump($verifier($date_non_valide2, 'date')); |
||||
echo "Date JJ/MM/AAAA : $date_valide2 ?"; |
||||
var_dump($verifier($date_valide2, 'date')); |
||||
?> |
||||
</pre> |
||||
|
||||
|
||||
</body> |
||||
</html> |
||||
<html> |
||||
<body> |
||||
<h1>Test de vérification de valeurs</h1> |
||||
|
||||
<h2>Vérifions qu'un mot est un mot :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$verifier = charger_fonction('verifier','inc'); |
||||
|
||||
$un_mot = "poli4_EFSdq89"; |
||||
$un_autre_mot = "aqe edioj o^"; |
||||
$modele = "/^[\w]+$/"; |
||||
|
||||
echo "Modèle => $modele\n\n"; |
||||
echo "'$un_mot' ?"; |
||||
var_dump($verifier($un_mot, 'regex', array('modele'=>$modele))); |
||||
echo "'$un_autre_mot' ?"; |
||||
var_dump($verifier($un_autre_mot, 'regex', array('modele'=>$modele))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des entiers :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$un_entier = 568; |
||||
$un_autre_entier = "-89"; |
||||
|
||||
echo "$un_entier entre 0 et 1000 ?"; |
||||
var_dump($verifier($un_entier, 'entier', array('min'=>0, 'max'=>1000))); |
||||
echo "$un_entier < 100 ?"; |
||||
var_dump($verifier($un_entier, 'entier', array('max'=>100))); |
||||
echo "$un_autre_entier est positif ?"; |
||||
var_dump($verifier($un_autre_entier, 'entier', array('min'=>0))); |
||||
echo "$un_autre_entier entre -100 et -50 ?"; |
||||
var_dump($verifier($un_autre_entier, 'entier', array('min'=>-100, 'max'=>-50))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions une taille d'une chaîne :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$une_chaine = "123456"; |
||||
$un_autre_chaine = "abc"; |
||||
|
||||
echo "$une_chaine de 1 à 3 caractères ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('min'=>1, 'max'=>3))); |
||||
echo "$une_chaine 5 caractères max ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('max'=>5))); |
||||
echo "$une_chaine 4 caractères mini ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('min'=>4))); |
||||
echo "$un_autre_chaine de 1 à 3 caractères ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('min'=>1, 'max'=>3))); |
||||
echo "$un_autre_chaine 5 caractères max ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('max'=>5))); |
||||
echo "$un_autre_chaine 4 caractères mini ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('min'=>4))); |
||||
echo "$une_chaine de 3 caractères ?"; |
||||
var_dump($verifier($une_chaine, 'taille', array('egal'=>3))); |
||||
echo "$un_autre_chaine de 3 caractères ?"; |
||||
var_dump($verifier($un_autre_chaine, 'taille', array('egal'=>3))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
|
||||
<h2>Vérifions des emails :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$email = "test@test.fr"; |
||||
$email2 = "test@b"; |
||||
$email3 = "test"; |
||||
|
||||
echo "Valide SPIP : $email ?"; |
||||
var_dump($verifier($email, 'email')); |
||||
echo "Valide SPIP : $email2 ?"; |
||||
var_dump($verifier($email2, 'email')); |
||||
echo "Valide SPIP : $email3 ?"; |
||||
var_dump($verifier($email3, 'email')); |
||||
|
||||
echo "Valide Strict : $email ?"; |
||||
var_dump($verifier($email, 'email',array('mode'=>'strict'))); |
||||
echo "Valide Strict : $email2 ?"; |
||||
var_dump($verifier($email2, 'email',array('mode'=>'strict'))); |
||||
echo "Valide Strict : $email3 ?"; |
||||
var_dump($verifier($email3, 'email',array('mode'=>'strict'))); |
||||
|
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des téléphones :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$telephone = "01.01/01-02 03"; |
||||
$telephone2 = "090909"; |
||||
$telephone3 = "10 01 01 01 01"; |
||||
|
||||
echo "Téléphone : $telephone ?"; |
||||
var_dump($verifier($telephone, 'telephone_fr')); |
||||
echo "Téléphone : $telephone2 ?"; |
||||
var_dump($verifier($telephone2, 'telephone_fr')); |
||||
echo "Téléphone : $telephone3 ?"; |
||||
var_dump($verifier($telephone3, 'telephone_fr')); |
||||
|
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
|
||||
<h2>Vérifions des SIREN/SIRET :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
$siren_valide = "321227852"; |
||||
$siren_non_valide = "321227822"; |
||||
$siret_valide = "32122785200019"; |
||||
$siret_non_valide = "32122785200033"; |
||||
|
||||
echo "SIREN : $siren_valide ?"; |
||||
var_dump($verifier($siren_valide, 'siren_siret')); |
||||
echo "SIREN : $siren_non_valide ?"; |
||||
var_dump($verifier($siren_non_valide, 'siren_siret')); |
||||
|
||||
echo "SIRET : $siret_valide ?"; |
||||
var_dump($verifier($siret_valide, 'siren_siret',array('mode'=>'siret'))); |
||||
echo "SIRET : $siret_non_valide ?"; |
||||
var_dump($verifier($siret_non_valide, 'siren_siret',array('mode'=>'siret'))); |
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des DATES :</h2> |
||||
<pre> |
||||
<?php |
||||
$date_valide = "30-01-2009"; |
||||
$date_non_valide = "321227822"; |
||||
$date_non_valide2 = "29-02-2011"; |
||||
$date_valide2 = "29-02-2012"; |
||||
|
||||
echo "Date JJ/MM/AAAA (avec séparateur /.-) : $date_valide ?"; |
||||
var_dump($verifier($date_valide, 'date')); |
||||
echo "Date JJ/MM/AAAA : $date_non_valide ?"; |
||||
var_dump($verifier($date_non_valide, 'date')); |
||||
echo "Date JJ/MM/AAAA : $date_non_valide2 ?"; |
||||
var_dump($verifier($date_non_valide2, 'date')); |
||||
echo "Date JJ/MM/AAAA : $date_valide2 ?"; |
||||
var_dump($verifier($date_valide2, 'date')); |
||||
?> |
||||
</pre> |
||||
|
||||
<h2>Vérifions des URL :</h2> |
||||
<pre> |
||||
<?php |
||||
|
||||
// Bon c'est pas terrible tout ce code... Faut revoir ca avec le plugin test builder |
||||
$url_web_valide1 = "Http://www.domaine.tld"; |
||||
$url_web_valide2 = "https://www.Domaine.tld"; |
||||
$url_ftp_valide = "sftp://www.domaine.tld"; |
||||
$url_mail_valide = "pop3://www.domaine.tld"; |
||||
$url_exact_valide = "ssh://www.domaine.tld"; |
||||
$url_tous_valide = "rtsp://www.domaine.tld"; |
||||
|
||||
echo "protocole_seul : url_web_valide1 : $url_web_valide1 ?"; |
||||
var_dump($verifier($url_web_valide1, 'url', array('mode'=>'protocole_seul','type_protocole'=>'web'))); |
||||
echo "protocole_seul : url_web_valide2 : $url_web_valide2 ?"; |
||||
var_dump($verifier($url_web_valide2, 'url', array('mode'=>'protocole_seul','type_protocole'=>'web'))); |
||||
echo "protocole_seul : url_ftp_valide : $url_ftp_valide ?"; |
||||
var_dump($verifier($url_ftp_valide, 'url', array('mode'=>'protocole_seul','type_protocole'=>'ftp'))); |
||||
echo "protocole_seul : url_mail_valide : $url_mail_valide ?"; |
||||
var_dump($verifier($url_mail_valide, 'url', array('mode'=>'protocole_seul','type_protocole'=>'mail'))); |
||||
echo "protocole_seul : url_exact_valide : $url_exact_valide ?"; |
||||
var_dump($verifier($url_exact_valide, 'url', array('mode'=>'protocole_seul','type_protocole'=>'exact','protocole'=>'ssh'))); |
||||
echo "protocole_seul : url_tous_valide : $url_tous_valide ?"; |
||||
var_dump($verifier($url_tous_valide, 'url', array('mode'=>'protocole_seul','type_protocole'=>'tous'))); |
||||
|
||||
$url_web_invalide1 = "htpp://www.domaine.tld"; |
||||
$url_web_invalide2 = "http:/www.domaine.tld"; |
||||
$url_web_invalide3 = "ftp://www.domaine.tld"; |
||||
|
||||
echo "protocole_seul : url_web_invalide1 : $url_web_invalide1 ?"; |
||||
var_dump($verifier($url_web_invalide1, 'url', array('mode'=>'protocole_seul','type_protocole'=>'web'))); |
||||
echo "protocole_seul : url_web_invalide2 : $url_web_invalide2 ?"; |
||||
var_dump($verifier($url_web_invalide2, 'url', array('mode'=>'protocole_seul','type_protocole'=>'web'))); |
||||
echo "protocole_seul : url_web_invalide3 : $url_web_invalide3 ?"; |
||||
var_dump($verifier($url_web_invalide3, 'url', array('mode'=>'protocole_seul','type_protocole'=>'web'))); |
||||
|
||||
$url_web_valide1 = "http://www.domaine.co.tld"; |
||||
$url_web_valide2 = "http://www.domaine.tld/repertoire"; |
||||
$url_web_valide3 = "http://www.DOMAINE.tld/repertoire"; |
||||
$url_web_valide4 = "http://www.domaine.tld/fichier%20.html"; |
||||
$url_web_valide5 = "http://www.domaine.tld/fichier.html#ancre"; |
||||
$url_web_valide6 = "http://www.domaine.tld/spip.php?page=test/verifier&toto=1"; |
||||
$url_web_valide7 = "http://www.domaine.tld/Presentation,432.html"; |
||||
$url_web_valide8 = "http://toto:t8_&$!@192.168.0.1:8000"; |
||||
$url_web_invalide1 = "http://www.domaïne.tld"; |
||||
$url_web_invalide2 = "http://www.domaine.tld\toto"; |
||||
$url_web_invalide3 = "http://www.domaine.tld/toto titi"; |
||||
|
||||
|
||||
echo "complet : url_web_valide1 : $url_web_valide1 ?"; |
||||
var_dump($verifier($url_web_valide1, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide2 : $url_web_valide2 ?"; |
||||
var_dump($verifier($url_web_valide2, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide3 : $url_web_valide3 ?"; |
||||
var_dump($verifier($url_web_valide3, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide4 : $url_web_valide4 ?"; |
||||
var_dump($verifier($url_web_valide4, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide5 : $url_web_valide5 ?"; |
||||
var_dump($verifier($url_web_valide5, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide6 : $url_web_valide6 ?"; |
||||
var_dump($verifier($url_web_valide6, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide7 : $url_web_valide7 ?"; |
||||
var_dump($verifier($url_web_valide7, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_valide8 : $url_web_valide8 ?"; |
||||
var_dump($verifier($url_web_valide8, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
|
||||
echo "complet : url_web_invalide1 : $url_web_invalide1 ?"; |
||||
var_dump($verifier($url_web_invalide1, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_invalide2 : $url_web_invalide2 ?"; |
||||
var_dump($verifier($url_web_invalide2, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
echo "complet : url_web_invalide3 : $url_web_invalide3 ?"; |
||||
var_dump($verifier($url_web_invalide3, 'url', array('mode'=>'complet','type_protocole'=>'web'))); |
||||
|
||||
|
||||
echo "php_filter : url_web_valide1 : $url_web_valide1 ?"; |
||||
var_dump($verifier($url_web_valide1, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide2 : $url_web_valide2 ?"; |
||||
var_dump($verifier($url_web_valide2, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide3 : $url_web_valide3 ?"; |
||||
var_dump($verifier($url_web_valide3, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide4 : $url_web_valide4 ?"; |
||||
var_dump($verifier($url_web_valide4, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide5 : $url_web_valide5 ?"; |
||||
var_dump($verifier($url_web_valide5, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide6 : $url_web_valide6 ?"; |
||||
var_dump($verifier($url_web_valide6, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide7 : $url_web_valide7 ?"; |
||||
var_dump($verifier($url_web_valide7, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_valide8 : $url_web_valide8 ?"; |
||||
var_dump($verifier($url_web_valide8, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
|
||||
echo "php_filter : url_web_invalide1 : $url_web_invalide1 ?"; |
||||
var_dump($verifier($url_web_invalide1, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_invalide2 : $url_web_invalide2 ?"; |
||||
var_dump($verifier($url_web_invalide2, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
echo "php_filter : url_web_invalide3 : $url_web_invalide3 ?"; |
||||
var_dump($verifier($url_web_invalide3, 'url', array('mode'=>'php_filter','type_protocole'=>'web'))); |
||||
|
||||
?> |
||||
</pre> |
||||
|
||||
|
||||
</body> |
||||
</html> |
||||
|
@ -1,24 +1,135 @@
|
||||
<?php |
||||
|
||||
// Sécurité |
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
/** |
||||
* Une URL commence par HTTP:// contient un domaine, etc. |
||||
* Doit pouvoir recevoir en option le protocole (ou pas) FTP SSH SFTP HTTP etc. |
||||
* Si pas de protocole spécifié, commencer à :// ?? |
||||
* |
||||
* @param string $valeur La valeur à vérifier. |
||||
* @param array $option [INUTILISE]. |
||||
* @return string Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur. |
||||
*/ |
||||
function verifier_url_dist($valeur, $options=array()){ |
||||
$erreur = _T('verifier:erreur_url'); |
||||
$ok = ''; |
||||
|
||||
/* |
||||
TODO Faire une belle RegExp |
||||
*/ |
||||
|
||||
return $ok; |
||||
} |
||||
<?php |
||||
|
||||
// Sécurité |
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
/** |
||||
* Vérification d'une URL |
||||
* |
||||
* Si auncune option n'est définie, vérifie uniquement si un protocole de type web est défini |
||||
* |
||||
* @param string $valeur La valeur à vérifier. |
||||
* @param array $option. |
||||
* mode : protocole_seul, php_filter, complet |
||||
* type_protocole : tous, web (http ou https), mail (imap, pop3, smtp), ftp (ftp ou sftp), exact |
||||
* protocole : nom du protocole (si type_protocole=exact) |
||||
* @return string Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur. |
||||
*/ |
||||
function verifier_url_dist($valeur, $options=array()){ |
||||
|
||||
// Choix du mode de verification de la syntaxe des url |
||||
if (!$options['mode'] or !in_array($options['mode'], array('protocole_seul','php_filter','complet'))){ |
||||
$mode = 'protocole_seul'; |
||||
} |
||||
else{ |
||||
$mode = $options['mode']; |
||||
} |
||||
|
||||
// Choix du type de protocole à vérifier |
||||
if (!$options['type_protocole'] or !in_array($options['type_protocole'], array('tous','web','mail','ftp','exact'))){ |
||||
$type_protocole = 'web'; |
||||
} |
||||
else{ |
||||
$type_protocole = $options['type_protocole']; |
||||
$protocole = '' ; |
||||
if ($type_protocole=='exact' && $options['protocole']){ |
||||
$protocole = $options['protocole']; |
||||
} |
||||
} |
||||
|
||||
$fonctions_disponibles = array('protocole_seul' => 'verifier_url_protocole', 'php_filter' => 'verifier_php_filter', 'complet' => 'verifier_url_complet'); |
||||
$fonction_verif = $fonctions_disponibles[$mode]; |
||||
|
||||
return $fonction_verif($valeur,$type_protocole,$protocole) ; |
||||
|
||||
} |
||||
|
||||
/** |
||||
* Vérifier uniquement la présence d'un protocole |
||||
* |
||||
* @param string $valeur La valeur à vérifier |
||||
* @param string $type_protocole : tous, web (http ou https), mail (imap, pop3, smtp), ftp (ftp ou sftp), exact |
||||
* @param string $protocole : nom du protocole (si type_protocole=exact) |
||||
* @return boolean Retourne true uniquement lorsque l'url est valide |
||||
*/ |
||||
function verifier_url_protocole($url,$type_protocole,$protocole){ |
||||
|
||||
$urlregex = array('tous' => "^([a-z0-9]*)\:\/\/.*$", |
||||
'web' => "^(https?)\:\/\/.*$", |
||||
'ftp' => "^(s?ftp)\:\/\/.*$", |
||||
'mail' => "^(pop3|smtp|imap)\:\/\/.*$", |
||||
'exact' => "^(".$protocole.")\:\/\/.*$"); |
||||
|
||||
$msg_erreur = array('tous' => "", |
||||
'web' => "http://, https://", |
||||
'ftp' => "^ftp://, sftp://", |
||||
'mail' => "pop3://, smtp://, imap://", |
||||
'exact' => $protocole."://" ); |
||||
|
||||
|
||||
if (!eregi($urlregex[$type_protocole], $url)) { |
||||
if($type_protocole=="tous") { |
||||
return _T('verifier:erreur_url_protocole_exact', array('url' => echapper_tags($url))); |
||||
} else { |
||||
return _T('verifier:erreur_url_protocole', array('url' => echapper_tags($url),'protocole' => $msg_erreur[$type_protocole])); |
||||
} |
||||
} |
||||
return ''; |
||||
} |
||||
|
||||
/** |
||||
* Vérifier uniquement la présence d'un protocole |
||||
* |
||||
* @param string $valeur La valeur à vérifier |
||||
* @param string $type_protocole : tous, web (http ou https), mail (imap, pop3, smtp), ftp (ftp ou sftp), exact |
||||
* @param string $protocole : nom du protocole (si type_protocole=exact) |
||||
* @return boolean Retourne true uniquement lorsque l'url est valide |
||||
*/ |
||||
function verifier_php_filter($url,$type_protocole,$protocole){ |
||||
|
||||
if (!filter_var($url, FILTER_VALIDATE_URL)) |
||||
return _T('verifier:erreur_url', array('url' => echapper_tags($valeur))); |
||||
return ''; |
||||
} |
||||
|
||||
/** |
||||
* Vérifier la présence d'un protocole et de la bonne syntaxe du reste de l'url |
||||
* |
||||
* http://phpcentral.com/208-url-validation-in-php.html |
||||
* <http[s]|ftp> :// [user[:pass]@] hostname [port] [/path] [?getquery] [anchor] |
||||
* |
||||
* @param string $valeur La valeur à vérifier |
||||
* @param string $type_protocole : web (http ou https), mail (imap, pop3, smtp), ftp (ftp ou sftp), exact |
||||
* @param string $protocole : nom du protocole (si type_protocole=exact) |
||||
* @return boolean Retourne true uniquement lorsque l'url est valide |
||||
*/ |
||||
function verifier_url_complet($url,$type_protocole,$protocole){ |
||||
|
||||
if($msg=verifier_url_protocole($url,$type_protocole,$protocole)!=''){ |
||||
return $msg; |
||||
} |
||||
// SCHEME |
||||
$urlregex = "^(.*)\:\/\/"; |
||||
|
||||
// USER AND PASS (optional) |
||||
$urlregex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; |
||||
|
||||
// HOSTNAME OR IP |
||||
$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*"; // http://x = allowed (ex. http://localhost, http://routerlogin) |
||||
//$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)+"; // http://x.x = minimum |
||||
//$urlregex .= "([a-z0-9+\$_-]+\.)*[a-z0-9+\$_-]{2,3}"; // http://x.xx(x) = minimum |
||||
//use only one of the above |
||||
|
||||
// PORT (optional) |
||||
$urlregex .= "(\:[0-9]{2,5})?"; |
||||
// PATH (optional) |
||||
$urlregex .= "(\/([a-z0-9+\$_%,-]\.?)+)*\/?"; |
||||
// GET Query (optional) |
||||
$urlregex .= "(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?"; |
||||
// ANCHOR (optional) |
||||
$urlregex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?\$"; |
||||
|
||||
if (!eregi($urlregex, $url)) |
||||
return _T('verifier:erreur_url', array('url' => echapper_tags($valeur))); |
||||
return ''; |
||||
} |
@ -0,0 +1,33 @@
|
||||
|
||||
titre: '<:verifier:type_url:>' |
||||
description: '<:verifier:type_url_description:>' |
||||
options: |
||||
- |
||||
saisie: 'radio' |
||||
options: |
||||
nom: 'mode' |
||||
label: '<:verifier:option_url_mode_label:>' |
||||
datas: |
||||
protocole_seul: '<:verifier:option_url_mode_protocole_seul:>' |
||||
php_filter: '<:verifier:option_url_mode_php_filter:>' |
||||
complet: '<:verifier:option_url_mode_complet:>' |
||||
defaut: 'protocole_seul' |
||||
- |
||||
saisie: 'radio' |
||||
options: |
||||
nom: 'type_protocole' |
||||
label: '<:verifier:option_url_type_protocole_label:>' |
||||
datas: |
||||
tous: '<:verifier:option_url_type_protocole_tous:>' |
||||
web: '<:verifier:option_url_type_protocole_web:>' |
||||
mail: '<:verifier:option_url_type_protocole_mail:>' |
||||
ftp: '<:verifier:option_url_type_protocole_ftp:>' |
||||
exact: '<:verifier:option_url_type_protocole_exact:>' |
||||
defaut: 'web' |
||||
- |
||||
saisie: 'input' |
||||
options: |
||||
nom: 'protocole' |
||||
label: '<:verifier:option_url_protocole_label:>' |
||||
|
||||
|
Loading…
Reference in new issue