var dateSeparator = "/"; var minYear = 1900; var maxYear = 2100; function isInteger(s) { var i; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if ((c < "0") || (c > "9")) { return false; } } return true; } function stripCharsInBag(s, bag) { var i; var returnString = ""; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (bag.indexOf(c) == -1) { returnString += c; } } return returnString; } function daysInFebruary (year) { return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function DaysArray(n) { for (var i = 1; i <= n; i++) { this[i] = 31; if (i==4 || i==6 || i==9 || i==11) { this[i] = 30; } if (i==2) { this[i] = 29; } } return this; } function isDate(dtStr) { var daysInMonth = DaysArray(12); var pos1=dtStr.indexOf(dateSeparator); var pos2=dtStr.indexOf(dateSeparator,pos1+1); var strDay=dtStr.substring(0,pos1); var strMonth=dtStr.substring(pos1+1,pos2); var strYear=dtStr.substring(pos2+1); strYr=strYear; if (strDay.charAt(0)=="0" && strDay.length>1) { strDay=strDay.substring(1); } if (strMonth.charAt(0)=="0" && strMonth.length>1) { strMonth=strMonth.substring(1); } for (var i = 1; i <= 3; i++) { if (strYr.charAt(0)=="0" && strYr.length>1) { strYr=strYr.substring(1); } } month=parseInt(strMonth); day=parseInt(strDay); year=parseInt(strYr); if (pos1==-1 || pos2==-1) { alert("Please enter the date in the format: DD/MM/YYYY"); return false; } if (strMonth.length<1 || month<1 || month>12) { alert("Please enter a valid month"); return false; } if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]) { alert("Please enter a valid day"); return false; } if (strYear.length != 4 || year==0 || yearmaxYear) { alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear); return false; } if (dtStr.indexOf(dateSeparator,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dateSeparator))==false) { alert("Please enter a valid date"); return false; } return true; } function echeck(str) { var at="@"; var dot="."; var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot); if (str.indexOf(at) == -1) { alert("Please enter a valid email address"); return false; } if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) { alert("Please enter a valid email address"); return false; } if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) { alert("Please enter a valid email address"); return false; } if (str.indexOf(at,(lat+1)) != -1) { alert("Please enter a valid email address"); return false; } if (str.substring(lat-1,lat) == dot || str.substring(lat+1,lat+2) == dot) { alert("Please enter a valid email address"); return false; } if (str.indexOf(dot,(lat+2)) == -1) { alert("Please enter a valid email address"); return false; } if (str.indexOf(" ") != -1) { alert("Please enter a valid email address"); return false; } return true; } var digits = "0123456789"; var phoneNumberDelimiters = "()- "; var validWorldPhoneChars = phoneNumberDelimiters + "+"; var minDigitsInIPhoneNumber = 10; function checkInternationalPhone(strPhone) { s = stripCharsInBag(strPhone,validWorldPhoneChars); return (isInteger(s) && s.length >= minDigitsInIPhoneNumber); }