1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| function valid_formulaire($chaine, $type, $min, $max, $defaut = NULL){
switch ($type) {
case "letter":
// Accepte les lettres Majuscule ou Minuscule
// e.g: Les mots simples, nom, prénom, etc.
// e.g: "Pascal", "Maison"
$filter = "/^[A-Za-z]+$/";
case "name":
// Accepte les lettres Majuscule ou Minuscule l'Apostrophe et l'Espace.
// e.g: Pour les noms composés.
// e.g: "Pascal LEGAL", "Ma maison est bleue"
$filter = "/^[A-Za-z]([A-Za-z\s]*[A-Za-z])*$/";
case "adress":
// Accepte les lettres Majuscule ou Minuscule, les chiffres, l'apostrophe et l'Espace.
// e.g: Adresse, phrases simples sans caractères spéciaux
// e.g: "16 Rue de l'industrie", "Charles a 3 chiens"
$filter = "/^[A-Za-z]([A-Za-z0-9\s]*[A-Za-z0-9])*$/";
case "number":
// Accepte les chiffres (dans une chaine alphanumérique).
// e.g: Code Postal, Téléphone, etc...
// e.g: "75000", "0199887766"
$filter = "#^[0-9]$#";
case "mail":
// Accepte les lettres Minuscule, les chiffres, le tiret du 6, l'underscore, le point et l'arobase.
// e.g: Adresse Mail.
// e.g: "toto@mondomaine.com"
$filter = "|^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{2,})+$|i";
case "url":
// Accepte les urls.
// Accepte les url de type http, https, ou ftp.
$filter = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i";
case "string":
// Accepte un max de choses.
// A EVITER
$filter = "/^[\(\)\/\'\"\,\.\-\$\&\£\s@\?#_a-zA-Z\d]+$/";
case "integer":
// Accepte un nombre en tant qu'entier.
$filter = "[-+]?\b\d+\b";
case "float":
// Accepte un nombre en tant que decimal.
$filter = "(?<!\S)\d++(?!\S)";
default:
return "type error !";
}
if (isset($chaine)) {
//Si la variable $chaine existe bien on effectue le test.
preg_match($filter,$chaine,$arr);
//Si la RegEx trouve un resultat, on l'extrait pour le renvoyer.
if (!empty($arr)) {
return substr($arr[0], $min, $max);
} else {
//Si il n'y a pas de resultat on renvoi la variable $Defaut.
return $default;
}
}
} |
Partager