// JavaScript Document
/*..............List of Available Functions ................

isOnlyAlphaNumeric()
isOnlyAplhaNumericNoSpace()
isOnlyAplhabetic()
isOnlyNumeric()
isValidAge()
isValidPassword()
isValidTelephoneNum()
isValidPostalCode()
isValidEmail()
........................*************........................*/

//.........class Validate constructor...........//
function Validate()
 {}

//To validate Letters, Numbers and Spaces only...............
Validate.prototype.isOnlyAlphaNumeric = function(string)
 {
	if(string == "" ) return false;
 	var invalidCharRegExp = /[^a-z\d ]/i;
	var isValid = !(invalidCharRegExp.test(string));

	return isValid;
 }

//To validate Letters and Numbers only , No spaces..........
Validate.prototype.isOnlyAlphaNumericNoSpace = function(string)
 {
	if(string == "" ) return false;
 	var invalidCharRegExp = /[^a-z\d]/i;
	var isValid = !(invalidCharRegExp.test(string));
	
	return isValid;
 }

//To validate Letters and space only .......................
Validate.prototype.isOnlyAlphabetic = function(string)
 {
 	if(string == "" ) return false;
 	var invalidCharRegExp = /[^a-z ]/i;
	var isValid = !(invalidCharRegExp.test(string));
	
	return isValid;
 }

//To validate Numbers only .................................
Validate.prototype.isOnlyNumeric = function(string)
 {
 	if(string == "" ) return false;
 	var invalidCharRegExp = /[^\d]/;
	var isValid = !(invalidCharRegExp.test(string));
	
	return isValid;
 }

 //To validate Age....................... ..................
Validate.prototype.isValidAge = function(age)
 {
	if(age == "" ) return false;
 	var isValid = false;
	if(this.isOnlyNumeric(age))
	 {
		isValid = (parseInt(age) >= 0 && parseInt(age) < 140 )
	 }
	return isValid;
 }

//To validate Password Formats......................................
Validate.prototype.isValidPassword = function(password)
 {
	if(password == "" ) return false;
 	var invalidCharRegExp = /[^a-z\d]/i;
	var isValid = !(invalidCharRegExp.test(password));
	if(isValid)
	 {
	 	isValid = (password.length >= 5 && password.length <= 16);
	 }
	 return isValid;
 }

//To validate Telephone number format.................................
Validate.prototype.isValidTelephoneNum = function(telephoneNum)
 {
 	var validCharRegExp = /^\+?[\d\- ]+$/;
	var isValid = (validCharRegExp.test(telephoneNum));
	
	return isValid;
 }
//To validate ZIP/ Postal codes..................................
 Validate.prototype.isValidPostalCode = function(postalCode)
  {
  	var validCharRegExp = /^\d[\d\- ]+$/; 
	var isValid = (validCharRegExp.test(postalCode));
	
	return isValid;
  }
  
  //To validate Email id..................................
 Validate.prototype.isValidEmail = function(email)
  {
  	var validCharRegExp = /^\w(\.?\w)*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i;
	var isValid = (validCharRegExp.test(email));
	return isValid;
  }