Just nu i M3-nätverket
Jump to content

Formulärvalidering i PHP m. preg_match og if-else


lillelinn

Recommended Posts

Jeg har skrevet en validering i PHP ved hjelp av preg_match. Valideringen fungerer ypperlig, men If-else satsen som skal utföre valideringen returnerer TRUE; selv om verdiene i formuläret ikke har oppnådd kriteriene satt i det regjuläre utrykket..

Hva kan väre feil? Setter enorm stor pris på hjelp fra noen her!

 

Her er kodesnutten jeg har skrevet:

 

$reg_mail='/\w+[@]\w+[.]\w/';

$reg_zip='/\d{3}\s\d{2}/';

$reg_licens='/^[a-z]{3}[ ]?[0-9]{3}$/i';

 

if(preg_match($reg_mail, $e_mail))

{

echo"funker";

echo"Stemmer1";

 

if(preg_match($reg_zip, $zip_code))

{

echo"funker";

echo"Stemmer2";

 

if(preg_match($reg_licens, $reg_nr))

{

echo"funker";

echo"Stemmer3";

return true;

}

 

else

{

echo"Stemmer ikke3";

return false;

}

 

}

 

else

{

echo"Stemmer ikke2";

return false;

}

 

}

 

else

{

echo"Stemmer ikke1";

return false;

}

 

//lillelinn

 

 

Link to comment
Share on other sites

  • 4 months later...
Patrik Gissberg

Detta funkar:

 

<?

$reg_mail='/\w+[]\w+[.]\w/';

$reg_zip='/\d{3}\s\d{2}/';

$reg_licens='/^[a-z]{3}[ ]?[0-9]{3}$/i';

 

$e_mail="patrik@gissberg.nu";

$zip_code="852 36";

$reg_nr="abc123";

 

if(preg_match($reg_mail, $e_mail)) {

echo "1 Stemmer, ";

} else {

echo "1 Stemmer ikke, ";

$error=true;

}

 

if(preg_match($reg_zip, $zip_code)) {

echo "2 Stemmer, ";

} else {

echo "2 Stemmer ikke, ";

$error=true;

}

 

if(preg_match($reg_licens, $reg_nr)) {

echo "3 Stemmer, ";

} else {

echo "3 Stemmer ikke, ";

$error=true;

}

 

if(isset($error)) {

echo "Validering misslyckades!";

} else {

echo "Validering lyckades!";

}

?>

 

Dock tror jag du kommer få problem med zip-valideringen som kräver ett mellanslag efte dom tre första siffrorna. Alltså 85236 ger fel, medans 852 36 fungerar. Jag själv skriver utan mellanslag!

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...