<!-- EMAIL VALIDATION   -->
function emailCheck (getEmailStr) {
var emname = getEmailStr.name;
function callAlert(){
	document.regform[emname].focus();
}

var emailStr = getEmailStr.value;
emailStr = trimText(emailStr);
if(emailStr.length>0){
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	alert("Please enter a valid email address")
	callAlert();
	return false
}

var user=matchArray[1]
var domain=matchArray[2]

if (user.match(userPat)==null) {
    alert("The username doesn't seem to be valid.")
	callAlert();
    return false
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Destination IP address is invalid!")
			callAlert();
		return false
	    }
    }
    return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.")
	callAlert();
    return false
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   alert("The address must end in a three-letter domain, or two letter country.")
   callAlert();		
   return false
}

if (len<2) {
   var errStr="This address is missing a hostname!"
   alert(errStr)
   callAlert();	
   return false
}
return true;
	}
}
<!-- END EMAIL VALIDATION   -->


<!-- START PHONE VALIDATION -->
function trimText(getTxt){

var getText = getTxt;

while(''+getText.charAt(0)==' ')getText=getText.substring(1,getText.length);

while(''+getText.charAt(getText.length-1) == ' ')getText = getText.substring(0,getText.length-1);

return getText;

}
function Check_phone(phone,pname,pname2,pname3,getIdentity){

//phone			:	Phone Value
//pname			:	Phone text
//pname2		:	Phone extn		
//pname3		:	Phone Attribute Name
//getIdentity	:	Phone Identity ..Ex text or identity

var getidentity = getIdentity;
var lflag = false;
var falseVariable;
var StrPhone = phone.toLowerCase();
StrPhone = trimText(StrPhone);
var strpname = pname;
strpname = trimText(strpname);
var lTempLength = StrPhone.length;
var getindex = new Array();

if(pname.length > 0 ){

if(StrPhone.length==0){
	return false;
	}else{
var k=0;var arr_k=0;
var c = '';

var hyphen = StrPhone.match(/-/gi);
	if(hyphen){
	hyphen = hyphen.toString();
			for(i=0;i<hyphen.length;i++)
			{	
				c = hyphen.charAt(i);
				if(c == '-'){  
				k++;
				}
			}
	}

function err_meth(pname){
			if(getIdentity == 'extn'){
				alert("You have to fill the valid "+pname+" number\n The correct Phone no format is (123)123-1234 or \n Phone no with Extension(123)123-1234x12345");
				return false;
			}
			else if(getIdentity == 'text'){
				alert("You have to fill the valid "+pname+" number\n The correct Phone no format is (123)123-1234 or \n Phone no with Extension(123)123-1234x12345");
				document.regform[pname].focus();
				return false;
			}
			else if(getIdentity == 'left_text'){
				alert("You have to fill the valid "+pname+" number\n The correct Phone no format is (123)123-1234 or \n Phone no with Extension(123)123-1234x12345");
				document.forms["formSearch"].searchValue.focus();
				falseVariable = "false";
				return falseVariable;
			}
			else{
				alert("You have to fill the valid "+pname+" number\n The correct Phone no format is (123)123-1234 or \n Phone no with Extension(123)123-1234x12345");
				return false;
			}
}

function ret_meth(phoneValue){
var xdelimiter = phoneValue.match(/x/gi);
if(xdelimiter){

	var pnumber = phoneValue.substring(0,phoneValue.indexOf("x"));
	var pextn   = phoneValue.substring(phoneValue.indexOf("x")+1,phoneValue.length);

	//phone			:	Phone Value
	//pname			:	Phone text
	//pname2		:	Phone extn		
	//pname3		:	Phone Attribute Name
	//getIdentity	:	Phone Identity ..ex text or identity	

	document.regform[pname].value  = pnumber;
	document.regform[pname2].value = pextn;
	document.regform[pname3].value = phoneValue;
}
else if(getIdentity == 'left_text') {
		document.forms["formSearch"].searchValue.value = phoneValue;
}
else{

	document.regform[pname].value  = phoneValue;
	document.regform[pname3].value = phoneValue;

	}
}

if((StrPhone.length > 1) && (StrPhone.length < 10))
{
		err_meth(pname);
}
else
	{
		for(i=0;i<lTempLength;i++)
		{
		characters = StrPhone.charAt(i);

			if(characters == '-'){  
			getindex[arr_k] = i;
			arr_k++;
			}

		if(i<10){
			if(characters == 'x'){
					lflag = true;			
					}
				}
		if((characters >= 'a' && characters <= 'w') && characters == 'y' && characters == 'z' && characters == '_' && characters == '+' && characters == '@' && characters == '!' && characters == '~' && characters == '#' && characters == '$' && characters == '%' && characters == '^' && characters == '&' && characters == '*' && characters == '.' && characters == '<' && characters == '>' && characters == '?' )

		lflag = true;
		}


if(hyphen){
var arr1 = new Array();

arr1[0] = "3,4"
arr1[1] = "7,8"
arr1[2] = "8,9"

		for(i=0;i<k;i++)
		{
		if(arr1[0] == getindex[i]+","+parseInt(parseInt(getindex[i])+1) || arr1[1] == getindex[i]+","+parseInt(parseInt(getindex[i])+1)	|| arr1[2] == getindex[i]+","+parseInt(parseInt(getindex[i])+1)	){	}
		else{
				lflag = true;
			}
		}
}

		if(lflag)
		{
				err_meth(pname)
		}else if(StrPhone.substring(0,1)=='('  && StrPhone.substring(4,5)==')' && StrPhone.substring(8,9)=='-' && lTempLength== 13  )
		{		
				ret_meth(StrPhone)
		}
		else if( StrPhone.substring(0,1)=='('  && StrPhone.substring(4,5)==')' && StrPhone.substring(8,9)=='-' && StrPhone.substring(13,14)=='x' && 
		(lTempLength >= 13 	&& lTempLength <= 19 )	&& !(isNaN(StrPhone.substring(14,lTempLength))) )
		{
				ret_meth(StrPhone)
		}
		else if(StrPhone.substring(0,1)=='(' && StrPhone.substring(4,5)==')' && StrPhone.substring(8,9)=='-' && lTempLength < 13)
		{
				err_meth(pname)
		}
		else if(StrPhone.substring(0,1) !='(' && StrPhone.substring(3,4)=='-' && StrPhone.substring(7,8)=='-' && lTempLength == 12)
		{
		var firsthypen = "("+StrPhone.substring(0,3)+")"+StrPhone.substring(4,lTempLength)
				ret_meth(firsthypen)
		}else if(StrPhone.substring(3,4) == '-' && StrPhone.substring(7,8) == '-' && StrPhone.substring(12,13)=='x' && (StrPhone.length>14 && StrPhone.length<19)){
			var secondhypen = "("+StrPhone.substring(0,3)+")"+StrPhone.substring(4,7)+"-"+StrPhone.substring(8,StrPhone.length);
			ret_meth(secondhypen);
		}
		else if((StrPhone.substring(0,1) !='(' && StrPhone.substring(3,4) !=')' && StrPhone.substring(3,4) !='-' && StrPhone.substring(6,7) !='-' && lTempLength == 10) && (!(isNaN(StrPhone))))
		{	
			var secondhypen = "("+StrPhone.substring(0,3)+")"+StrPhone.substring(3,6)+"-"+StrPhone.substring(6,lTempLength);
				ret_meth(secondhypen)
		}
		else if(StrPhone.substring(0,1) !='(' && StrPhone.substring(3,4) !=')' && StrPhone.substring(3,4) !='-' && StrPhone.substring(6,7) !='-' && StrPhone.substring(10,11)=='x' && (lTempLength > 11 && lTempLength <= 16))
		{
		var secondhypen = "("+StrPhone.substring(0,3)+")"+StrPhone.substring(3,6)+"-"+StrPhone.substring(6,lTempLength);
				ret_meth(secondhypen)		
		}
		else if(StrPhone.substring(0,1) !='(' && StrPhone.substring(3,4) !=')' && StrPhone.substring(3,4) !='-' && StrPhone.substring(6,7) !='-' && (lTempLength > 10 || lTempLength < 10) )
		{
				err_meth(pname)
		}else{
				err_meth(pname)
			}
		}
		return falseVariable;
	}
}
}

<!-- END PHONE VALIDATION -->
