If you want to validate your email field with a list of domain name and normal email validation, then we can do that with the help of following code:
HTML:
<div class="form">
<input id="emailAdd" type="text" onkeyup="emailVal()"/>
<button id="btnSub" type="button" disabled="disabled">Validate</button>
</div>
Javascript:
var domain = [];
var countDomain = 0;
var request = $.ajax({
url: "email.json",
dataType: "html"
});
request.done(function( msg ) {
domain = JSON.parse(msg);
domain = (domain)
countDomain = domain.length;
});
request.fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});
function emailVal(){
var email = $("#emailAdd").val();
validateEmail(email);
}
function validateEmail(email) {
var re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
var status = false;
if (re.test(email)) {
for(i = 0;i < countDomain; i++){
if (email.indexOf(domain[i].domain, email.length - (domain[i].domain).length) > 0) {
status = false;
document.getElementById('btnSub').disabled = true;
break;
} else {
status = true;
document.getElementById('btnSub').disabled = false;
}
}
} else {
document.getElementById('btnSub').disabled = true;
}
}
JSON:
[{
"domain": "0-mail.com"
}, {
"domain": "0815.ru"
}, {
"domain": "0clickemail.com"
}, {
"domain": "0wnd.net"
}, {
"domain": "0wnd.org"
}, {
"domain": "10minutemail.com"
}, {
"domain": "20minutemail.com"
}, {
"domain": "2prong.com"
}, {
"domain": "30minutemail.com"
}, {
"domain": "3d-painting.com"
}, {
"domain": "4warding.com"
}, {
"domain": "4warding.net"
}, {
"domain": "4warding.org"
}, {
"domain": "60minutemail.com"
}, {
"domain": "675hosting.com"
}, {
"domain": "675hosting.net"
}, {
"domain": "675hosting.org"
}, {
"domain": "6url.com"
}, {
"domain": "75hosting.com"
}, {
"domain": "75hosting.net"
}, {
"domain": "75hosting.org"
}, {
"domain": "7tags.com"
}]
You can take the domain name through server or from your local file in the folder as well but you have to update the list if you want to add domain name.
You can download the demo attached.
0 Comment(s)