// JavaScript Document //Changes done by Sapna //Updated Bhadra's Regular Expression for name validation with /^([A-Za-z]+\'?[A-Za-z]*)[\d]{0,10}$/ var W3CDOM = (document.getElementsByTagName && document.createElement); var fldsarr; var msgsarr; var msgtype; var errors; function DomValidate(flds,msgs) { this.fldsarr = flds; this.msgsarr = msgs; this.validateForm=validateForm; this.validatetype = validatetype; this.writeError = writeError; this.removeError = removeError; this.name = name; this.trim = trim; //AG this.nsname = nsname; this.phno=phno; this.required = required; this.errors=errors; this.msgtype=msgtype; this.writeErrors = writeErrors; this.email = email; this.usphone = usphone; this.url = url; this.ip = ip; this.mobile = mobile; this.postcode = postcode; this.number = number; this.namelen = namelen; } function validateForm(frmname) { var status; validForm = true; firstError = null; errorstring = ''; this.errors = ''; status = true; for (var i=0;i"; } } else { errorstring += obj.name + ': ' + message + '\n'; obj.hasError = true; } if (!firstError) firstError = obj; } function writeErrors(message) { var oElement; oElement=document.getElementById("showallerrors"); oElement.innerHTML=message; oElement.className = 'error'; var iElement; //iElement=document.getElementById("showerrimg"); //iElement.innerHTML=""; } function removeError() { //this.className = this.className.substring(0,this.className.lastIndexOf(' ')); var oElement; //oElement=document.getElementById("showerrimg"); //oElement.innerHTML=""; this.parentNode.removeChild(this.hasError); this.hasError = null; this.onchange = null; } /* Validation functions start here..... */ function email(obj,msg) { if (obj.value) { if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.value)) { return true; }else { if(!msg) this.writeError(obj,'Please enter a valid email address'); else this.writeError(obj,msg); return false; } } return true; } function phno(obj,msg) { if(obj.value) { if (/^(\+?\d{2}\s?)?\(\d{2}\)\s?\d{4}\s?\d{4}$/.test (obj.value)) { return true; } else { if (/^(\+?\d{2}\s?)?\[\d{2}\]\s?\d{4}\s?\d{4}$/.test (obj.value)) { return true; } else { if (/^(\+?\d{2}\s?)?\d{2}\s?\d{4}\s?\d{4}$/.test (obj.value)) { return true; } else { if (/^((\(?\d+\)?\s?\(?\d*\)?)+)$/.test (obj.value)) { return true; } else { if(!msg) this.writeError(obj,'Please enter a valid US Phone Number'); else this.writeError(obj,msg); } }return false; } } } return true; } function name(obj,msg) { if(obj.value) { //(/^([A-Za-z]+\'?[A-Za-z]*)[\d]{0,10}$/.test(obj.value)) if(/^(([A-Za-z]+\s?\'?[A-Za-z]*)\s?)+[\d]{0,10}$/.test(obj.value)) { return true; } else { if(!msg) this.writeError(obj,'Please enter a valid name'); else this.writeError(obj,msg); return false; } } return true; } /* to check whether name is atleast nore than 2 chars */ function namelen(obj,msg) { if(obj.value) { if(obj.value.length>2) { return true; } else { if(!msg) this.writeError(obj,'Please enter a valid name'); else this.writeError(obj,msg); return false; } } return true; } function nsname(obj,msg) { if(obj.value) { if(/^[a-z\']+$/i.test(obj.value)) { return true; } else { if(!msg) this.writeError(obj,'Please enter a valid name'); else this.writeError(obj,msg); return false; } } return true; } function usphone(obj,msg) { if (obj.value) { if (/^(\+?\d{2}\s?)?\([1-9]\d{2}\)\s?\d{3}\-?\d{4}$/.test (obj.value)) { return true; } else { if (/^(\+?\d{2}\s?)?\[[1-9]\d{2}\]\s?\d{3}\-?\d{4}$/.test (obj.value)) { return true; } else { if (/^(\+?\d{2}\s?)?[1-9]\d{2}\s?\d{3}\-?\d{4}$/.test (obj.value)) { return true; } else { if(!msg) this.writeError(obj,'Please enter a valid US Phone Number'); else this.writeError(obj,msg); return false; } } } } return true; } function url(obj,msg) { if (obj.value) { if (/^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/.test (obj.value)) { return true; }else { if(!msg) this.writeError(obj,'Please enter a valid URL'); else this.writeError(obj,msg); return false; } } return true; } function ip(obj,msg) { if (obj.value) { if ((obj.value != "0.0.0.0") && (obj.value != "255.255.255.255")) { if (/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test (obj.value)) { return true; } else { if(!msg) { this.writeError(obj,'Please enter a valid IP Address'); } else { this.writeError(obj,msg); } return false; } } else { if(!msg) this.writeError(obj,'Please enter a valid IP Address'); else this.writeError(obj,msg); return false; } } return true; } function mobile(obj,msg) { if (obj.value) { if (!(isNaN(obj.value)) && (obj.value.length>9)) { return true; }else { if(!msg) this.writeError(obj,'Please enter a valid mobile number'); else this.writeError(obj,msg); return false; } } return true; } function postcode(obj,msg) { if (obj.value) { if (!isNaN(obj.value) && obj.value.length>3) { return true; }else { if(!msg) this.writeError(obj,'Please enter a valid postcode'); else this.writeError(obj,msg); return false; } } return true; } function number(obj,msg) { if (obj.value) { if (!isNaN(obj.value)) { return true; }else { if(!msg) this.writeError(obj,'Please enter a valid Number'); else this.writeError(obj,msg); return false; } } return true; } function checkfile(obj,msg) { if (obj.value) { if (/^[\w+\s*]+.[pdf|doc|txt|jpg|gif]+/i.test (obj.value)) { return true; }else { if(!msg) this.writeError(obj,'Invalid File Extension'); else this.writeError(obj,msg); return false; } } return true; } //function to trim the spaces ->AG function trimAll(sString) { while (sString.substring(0,1) == ' ') { sString = sString.substring(1, sString.length); } while (sString.substring(sString.length-1, sString.length) == ' ') { sString = sString.substring(0,sString.length-1); } return sString; } // Removes leading and ending whitespaces ->AG function trim(obj,msg) { if(obj.value) { if(trimAll(obj.value) != "") { return true; } else { if(!msg) this.writeError(obj,'Please enter your name'); else this.writeError(obj,msg); return false; } } return true; } /* google toolbar fix [no way related to the class] --ny */ if(window.attachEvent) window.attachEvent("onload",setListeners); function setListeners(){ inputList = document.getElementsByTagName("INPUT"); for(i=0;i