Section courante

A propos

Section administrative du site

La validation des courriels est un des problèmes les plus complexe à mettre en oeuvre lorsqu'on envoie un formulaire. Et pour cause, il faut tenir compte des règles suivantes:

A l'aide du code source Phalanger (PHP .NET) suivant, vous trouverez la réponse que vous souhaitez:

<?
function BooleanToStr($X) {
     if($X) return "true";
       else return "false";
}

function IsEmail($Email) {  
    if(($Email == null) || (strlen($Email) == 0)) return false;
     for($I = 0; $I < strlen($Email); $I++) {   
        switch($Email[$I]) {
               case " ":case "\t":case "\n":case "\r":
               case "(":case ")":case ":":case ",":case "/":case "'":case "\"":
               case "~":case "`":case "!":case "#":case "$":case "%":case "^":
               case "&":case "*":case "+":case "=":case "[":case "]":case "{":
               case "}":case "|":case "\\":case "?":case "<":case ">":
                     return false;
          }
    }
     
     for($ArobasFound = 0, $I = 1; $I < strlen($Email); $I++) if($Email[$I] == "@") {
          $ArobasFound++;
          if($ArobasFound == 1) $AfterArobas = $I;
     }
    if($ArobasFound!=1) return false;
    $AfterArobas += 2;
    while (($AfterArobas < strlen($Email)) && ($Email[$AfterArobas] != ".")) $AfterArobas++;
    if(($AfterArobas >= strlen($Email) - 1) || ($Email[$AfterArobas] != ".")) return false;
    else return true;
}

echo "Courriel «abc» est valide: ".BooleanToStr(IsEmail("abc"))."\n";
echo "Courriel «@» est valide: ".BooleanToStr(IsEmail("@"))."\n";
echo "Courriel «@abc.abc» est valide: ".BooleanToStr(IsEmail("@abc.abc"))."\n";
echo "Courriel «abc@gladir.com» est valide: ".BooleanToStr(IsEmail("abc@gladir.com"))."\n";
echo "Courriel «abc@@gladir.com» est valide: ".BooleanToStr(IsEmail("abc@@gladir.com"))."\n";
echo "Courriel «abc@gl][adir.com» est valide: ".BooleanToStr(IsEmail("abc@gl][adir.com"))."\n"; 
?>

on obtiendra le résultat suivant:

Courriel «abc» est valide: false
Courriel «@» est valide: false
Courriel «@abc.abc» est valide: false
Courriel «abc@gladir.com» est valide: true
Courriel «abc@@gladir.com» est valide: false
Courriel «abc@gl][adir.com» est valide: false


Dernière mise à jour : Vendredi, le 31 août 2012