premshree
07-30-2003, 03:45 PM
Email Validator JavaScript (with and without RegExps):
<script language="JavaScript">
//////////////////////////////////////////////////
// <Email Validator> //
// by Premshree Pillai //
// http://www.qiksearch.com //
// http://premshree.resource-locator.com //
//////////////////////////////////////////////////
/* Without RegExps */
function isEmail(who) {
function isEmpty(who) {
var testArr=who.split("");
if(testArr.length==0)
return true;
var toggle=0;
for(var i=0; i<testArr.length; i++) {
if(testArr[i]==" ") {
toggle=1;
break;
}
}
if(toggle)
return true;
return false;
}
function isValid(who) {
var invalidChars=new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","'","|","{","}","\\","/","<",">","?");
var testArr=who.split("");
for(var i=0; i<testArr.length; i++) {
for(var j=0; j<invalidChars.length; j++) {
if(testArr[i]==invalidChars[j]) {
return false;
}
}
}
return true;
}
function isfl(who) {
var invalidChars=new Array("-","_",".");
var testArr=who.split("");
which=0;
for(var i=0; i<2; i++) {
for(var j=0; j<invalidChars.length; j++) {
if(testArr[which]==invalidChars[j]) {
return false;
}
}
which=testArr.length-1;
}
return true;
}
function isDomain(who) {
var invalidChars=new Array("-","_",".");
var testArr=who.split("");
if(testArr.length<2||testArr.length>4) {
return false;
}
for(var i=0; i<testArr.length; i++) {
for(var j=0; j<invalidChars.length; j++) {
if(testArr[i]==invalidChars[j]) {
return false;
}
}
}
return true;
}
var testArr=who.split("@");
if(testArr.length<=1||testArr.length>2) {
return false;
}
else {
if(isValid(testArr[0])&&isfl(testArr[0])&&isValid(testArr[1])) {
if(!isEmpty(testArr[testArr.length-1])&&!isEmpty(testArr[0])) {
var testArr2=testArr[testArr.length-1].split(".");
if(testArr2.length>=2) {
var toggle=1;
for(var i=0; i<testArr2.length; i++) {
if(isEmpty(testArr2[i])||!isfl(testArr2[i])) {
toggle=0;
break;
}
}
if(toggle&&isDomain(testArr2[testArr2.length-1]))
return true;
return false;
}
return false;
}
}
}
}
/* With RegExp */
function isEmail2(who) {
var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
return(email.test(who));
}
</script>
See example at http://premshree.resource-locator.com/javascripts/email-validator.htm
:thumbsup:
<script language="JavaScript">
//////////////////////////////////////////////////
// <Email Validator> //
// by Premshree Pillai //
// http://www.qiksearch.com //
// http://premshree.resource-locator.com //
//////////////////////////////////////////////////
/* Without RegExps */
function isEmail(who) {
function isEmpty(who) {
var testArr=who.split("");
if(testArr.length==0)
return true;
var toggle=0;
for(var i=0; i<testArr.length; i++) {
if(testArr[i]==" ") {
toggle=1;
break;
}
}
if(toggle)
return true;
return false;
}
function isValid(who) {
var invalidChars=new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","'","|","{","}","\\","/","<",">","?");
var testArr=who.split("");
for(var i=0; i<testArr.length; i++) {
for(var j=0; j<invalidChars.length; j++) {
if(testArr[i]==invalidChars[j]) {
return false;
}
}
}
return true;
}
function isfl(who) {
var invalidChars=new Array("-","_",".");
var testArr=who.split("");
which=0;
for(var i=0; i<2; i++) {
for(var j=0; j<invalidChars.length; j++) {
if(testArr[which]==invalidChars[j]) {
return false;
}
}
which=testArr.length-1;
}
return true;
}
function isDomain(who) {
var invalidChars=new Array("-","_",".");
var testArr=who.split("");
if(testArr.length<2||testArr.length>4) {
return false;
}
for(var i=0; i<testArr.length; i++) {
for(var j=0; j<invalidChars.length; j++) {
if(testArr[i]==invalidChars[j]) {
return false;
}
}
}
return true;
}
var testArr=who.split("@");
if(testArr.length<=1||testArr.length>2) {
return false;
}
else {
if(isValid(testArr[0])&&isfl(testArr[0])&&isValid(testArr[1])) {
if(!isEmpty(testArr[testArr.length-1])&&!isEmpty(testArr[0])) {
var testArr2=testArr[testArr.length-1].split(".");
if(testArr2.length>=2) {
var toggle=1;
for(var i=0; i<testArr2.length; i++) {
if(isEmpty(testArr2[i])||!isfl(testArr2[i])) {
toggle=0;
break;
}
}
if(toggle&&isDomain(testArr2[testArr2.length-1]))
return true;
return false;
}
return false;
}
}
}
}
/* With RegExp */
function isEmail2(who) {
var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
return(email.test(who));
}
</script>
See example at http://premshree.resource-locator.com/javascripts/email-validator.htm
:thumbsup: