Validalas maskepp

Altalaban validalasra a regexp fuggvenyeket hasznaljak az emberek,pedig van egyszerubb modja is a validalasnak. Ket beepitett php kiterjesztest fogok bemutatni amivel konnyeden tudunk validalni.
Az elso a php filters kiterjesztes. A kiterjesztessel nem csak validalni tudunk hanem az adatok megtisztisat is konnyeden elvegezhetjuk.
De kezdjuk a validalassal. Eloszor is erdemes megneznunk milyen beepitett szuru ink vannak. Ezt a filter_list() fuggveny segitsegevel tehetjuk meg:

foreach (filter_list() as $value){
  echo "$value
";
}

A filterek elnevezese magaert beszel, nem is fuznek hozzajuk semmit. Nezzunk akkor egy peldat egy emailcim ellenorzesre:

$emails = array('test@test.hu','(test@test. hu)');
foreach($emails as $email){
  if(filter_var($email,FILTER_VALIDATE_EMAIL))
    echo $email.' egy valid emailcim.
';
  else
    echo $email.' nem valid emailcim.
';
}

A masodik emailcim nem valid,mert zarojelek kozott van es van benne egy space. Tegyuk fel hogy ki szeretnenk javitani a hibat:

$emails = array('test@test.hu','(test@test. hu)');
foreach($emails as $email){
  if(filter_var($email,FILTER_VALIDATE_EMAIL))
    echo $email.' egy valid emailcim.
';
  else{
    echo $email.' nem valid emailcim.
';
    $sanitized = filter_var($email,FILTER_SANITIZE_EMAIL);
    if(filter_var($sanitized,FILTER_VALIDATE_EMAIL))echo "$email sanitized valtozata:$sanitized
";
  }
}

A masik hasznos dolog amirol irni szeretnek az a ctype. Ezzel egy stringen beluli karakterek tipusat tudjuk ellenorizni. Hasznos lehet hitelkartya adatok,telefonszamok,sot akar jelszavak validalasara is.
Nehany pelda:

$string = 'bcdefghijk2lmnopp';
 
##Alfanumerikus karakterek vizsgalata
if(ctype_alnum($string))
  echo "A string csak alfanumerikus karaktereket tartalmaz.
";
else
  echo  "A string NEM csak alfanumerikus karaktereket tartalmaz.
";
##Angol abc karaktereinek vizsgalata
if(ctype_alpha($string))
  echo "A string csak alfabetikus karaktereket tartalmaz.
";
else
  echo  "A string NEM csak alfabetikus karaktereket tartalmaz.
";
##Szamok vizsgalata
if(ctype_digit($string))
  echo "A string csak szamokat tartalmaz.
";
else
  echo  "A string NEM csak szamokat tartalmaz.
";  
 
##Kisbetu vizsgalata
if(ctype_lower($string))
  echo "A string csak kisbetuket tartalmaz.
";
else
  echo  "A string NEM csak kisbetuket tartalmaz.
";  
 
##Nagybetu vizsgalata
if(ctype_upper($string))
  echo "A string csak nagybetuket tartalmaz.
";
else
  echo  "A string NEM csak nagybetuket tartalmaz.
";

Cimkék: , ,

 
 
 

Szólj hozzá!

Comment Spam Protection by WP-SpamFree