Mail Doğrulama

Ziyaretçinizin mail adresini istiyor ama burda yanlış karakterler veya hatalı mailller istemiyorsanız bu scripti deneyin. Çok kapsamlı bir denetleme sistemi olan scripti Türkçe'ye çevirirken bile bayağı zorlandım.


<HEAD>..</HEAD> arasına eklenecek kod :



<script Language="JavaScript">
<!-- Strict E-mail by kurt.grigg@virgin.net

YourEmailAddress='mailliniziyazin@yahoo.com';

function Highlight(){
document.form1.email.focus();
document.form1.email.select();
}
function check(){
var emailbox = document.form1.email;
var email = document.form1.email.value;
var blanks = ''*100;
var naughty = new Array("arse","bastard","cunt","fuck","shit","wanke r","piss","twat");
var sneaky = email.toLowerCase();
var illegal = "Yanlış karakter girdiniz.\nİzin verilen karakterler aşşağıda sıralanmaktadır.\n\nAlfabetik Harfler [Büyük veya küçük]\nSayılar\nSadece 1 adet @\nBoşluk Olmamalı\nTürkçe Karakterler Olmamalı (ı ğ ü ş ö ç )\nKısa Çizgi [Tire]\nAlt Çizgi\n\n";
//mail check
if (email <= blanks){
alert("Lütfen e-mail adresinizi giriniz.");
Highlight();return false;
}
else if (email.length > 62){
alert('Tüm e-maillerde en fazla 63 karakter bulunabilir.');
Highlight();return false;
}
else if (email.charAt(0) == " "){
alert('E-mail adresinizin başında boşluk var, olmamalı');
Highlight();return false;
}
else if (email.charAt(email.length-1) == " "){
alert('E-mail adresinizin sonunda boşluk var, olmamalı');
Highlight();return false;
}
else if (email.indexOf(" ") !=-1){
alert('E-mail adresinizin içinde boşluk var, olmamalı');
Highlight();return false;
}

//CHECK FOR ILLEGAL CHARACTERS 1
for (i=0; i < email.length; i++){
var caps = "a".toUpperCase();
var E = email.substring(i, i + 1);
if ((E < "0" || "9" < E ) && E != "@" && E !="." && E !="-" && E !="_" && E < caps || "z" < E){
alert(illegal);
Highlight();return false;
}
}
//CHECK FOR ILLEGAL CHARACTERS 2
if ((email.indexOf('`',0) != -1) || (email.indexOf(String.fromCharCode(94)) != -1) || (email.indexOf(String.fromCharCode(92)) != -1) || (email.indexOf('[',0) != -1) || (email.indexOf(']',0) != -1)){
alert(illegal);
Highlight();return false;
}
//CHECK FOR SWEARING
for (i=0; i < email.length; i){
if (sneaky.indexOf(naughty[i]) != -1){
alert('Please remove the swear word - '+naughty[i].toUpperCase());
Highlight();return false;
}
i++;
}
//GENERAL FORMATING
if (email.charAt(0) =="."){
alert('Adresinizin başında nokta var, olmamalı.');
Highlight();return false;
}
else if (email.split('@').length > 2){
alert('E-mail adresinizde 1 adet @ bulunmalı.');
Highlight();return false;
}
else if (email.indexOf ('@',0) == -1){
alert("Adresinizde @ sembolü yok");
Highlight();return false;
}
else if (email.indexOf("@") < 2){
alert("Adresinizde @ sembolünden önce en az 2 karakter olmalı.");
Highlight();return false;
}
else if (email.charAt(email.length-1) == "@"){
alert('E-mail adresiniz @ sembolü ile bitemez.');
Highlight();return false;
}
else if (email.indexOf ('.') == -1){
alert("E-mail adresinizde en az 1 tane nokta olmalı.");
Highlight();return false;
}
else if (email.indexOf('.',email.indexOf('@')) == -1){
alert('Adresinizde @ sembolünden sonra en az 1 tane nokta olmalı.');
Highlight();return false;
}
else if (email.substring(email.indexOf('@'),email.length). indexOf(".") < 4){
alert('Adresinizde @ sembolünden sonra en az 3 karakter olmalı');
Highlight();return false;
}
else if (email.lastIndexOf(".")+2 == email.length){
alert('Adresinizin sonunda nokta ile ayrılan bölümler en az 2 karakter olmalı.');
Highlight();return false;
}
else if (email.substring(email.lastIndexOf("."),email.leng th).length > 4){
alert('Adresinizin sonunda en fazla 3 karakter olmalı');
Highlight();return false;
}
else if (email.charAt(email.length-1) =="."){
alert('E-mail adresiniz nokta ile bitemez.');
Highlight();return false;
}
ok=null;
confirm('Yazdığınız adres - '+email+'\nOnaylıyor musunuz?\n\nAdres şimdi gönderilsin mi?')?ok=1k=0;
if (ok==1) return true;
else return false;
}
//-->
</script>



<BODY>..</BODY> arasına eklenecek kod :



<script Language="JavaScript">
<!--
var styleok=(document.all)?'class=looks':0;
document.write('<form name="form1" method="POST" action="mailto:'+YourEmailAddress+'" ENCTYPE="text/plain" ONSUBMIT="return check()">'

+'<input '+styleok+' name="email" type="text" size="25" maxlength="63">'
+'<input '+styleok+' type="SUBMIT" value="Gönder">'
+'<input '+styleok+' type="Reset" value="Sil">'
+'</form>');
//-->
</script>


NOT : Yazılan mail adresi size ziyaretçinizin e-mail programı yoluyla ulaştırılır(outlook vb. gibi). Ziyaretçinizde windows üzerinde çalışan bir mail programı yoksa, mail adresini gönderemeyecektir. Formun action kısımında ufak bir değişiklik yaparak mail adresinizin size farklı yollardan (cgi asp vb. gibi) ulaşmasını sağlayabilirsiniz.