Logika yang pertama misalnya, dalam email hanya boleh terdapat satu tanda at ( @ ) lalu tidak boleh ada tanda titik ( . ) sebelum dan sesudah tanda at ( @ ). Dan masih banyal lagi logika lainnya. Cara yang saya gunakan adalah mengecek panjang string email dengan fungsi strlen lalu mengecek per kata yang ada dalam string dengan menggunakan fungsi for dan substring. Dan hal yang pertama yang anda lakukan tentunya adalah membuat textbox dan pada file proses php buatlah baris kode berikut ini:
<?php
$email = $_GET['email'];
include("fungsiCekEmail.php");
if((cekEmail($email) == false) || ($email == "")){
echo "Email tidak valid";
}
?>
Pada file proses diatas, kita mengambil nilai pada textbox email kemudian memanggil file lain yaitu fungsiCekEmail.php. Lalu melakukan validasi dengan menggunakan fungsi yang kita buat di file fungsiCekEmail.php. Setelah itu kita buat file fungsiCekEmail.php nya, berikut adalah sintaknya:
<?php
function cekEmail($email){
$myString = $email;
$findMe1 = '@';
$findMe2 = '.';
$posisi1 = strpos($myString, $findMe1);
$posisi2 = strpos($myString, $findMe2);
$fl = true;
$counterAt = 0;
$jmlAt = strlen($email);
$fl3 = 0;//posisi titik terakhir
if(($email=="")||($posisi1==0)||($posisi1==strlen($email))||($posisi2==0)||($posisi2==strlen($email))){
$fl = false;
return $fl;
}
for($i=0; $i<$jmlAt; $i++){
if(substr($email, $i,1)=='@'){
$counterAt++;
}
}
if($counterAt != 1){
return false;
}
for($i=0; $i<$jmlAt; $i++){
if(substr($email,$i,1)=="."){//ketemu titik dan at
if($fl3 == ($i - 1)){//mengecek konter sebelumya
return false;
}
else{//mengupdate counter
$fl3 = $i;
}
}
else if(substr($email,$i,1)=='@'){
if($fl3 == ($i - 1)){//mengecek konter sebelumya
return false;
}
else{//mengupdate counter
$fl3 = $i;
}
}
}//for
if($fl){
return true;
}
}
?>
selamat mencoba..
0 comments
Post a Comment