var reDate = /^[0-3]?[0-9]\/[0-1]?[0-9]\/[1-2]?[0-9]?[0-9][0-9]$/ var reEmail = /^[A-Za-z0-9_\.\-\']+\@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,3}$/ var reInteger = /^\d+$/ //var reReal = /^\d{0,9}?\.?\d+$/ var reReal = /^[0-9]+\.?[0-9]?[0-9]?$/ var reWhitespace = /^\s+$/ function EmptyField(s) { return ((s == null) || (s.length == 0) || reWhitespace.test(s)); } function IsInteger(s) { return (reInteger.test(s)); } function IsReal(s) { return (reReal.test(s)); } function ValidateEmail(s) { return (reEmail.test(s)); } function ValidateWholeDate(s) { if (!reDate.test(s)) return (false); else { var dateCount = 1; var noDay = ""; var noMonth = ""; var noYear = ""; for (i = 0; i < s.length; i++) { if (s.charAt(i) != "/") { if (dateCount == 1) noDay = noDay + s.charAt(i); if (dateCount == 2) noMonth = noMonth + s.charAt(i); if (dateCount == 3) noYear = noYear + s.charAt(i); } else {dateCount++;} } if (noDay.charAt(0) == "0") noDay = noDay.charAt(1); if (noMonth.charAt(0) == "0") noMonth = noMonth.charAt(1); return (ValidateSplitDate(noDay,noMonth,noYear)); } } function ValidateSplitDate(ds,ms,ys) { var intDay = parseInt(ds); var intMonth = parseInt(ms); var intYear = parseInt(ys); var daysInMonth = new Array(0,31,29,31,30,31,30,31,31,30,31,30,31) if (intMonth > 12) return (false); if (intDay > daysInMonth[intMonth]) return (false); if ((intMonth == 2) && (intDay > DaysInFebruary(intYear))) return (false); return (true); } function DaysInFebruary (ys) { return ( ((ys % 4 == 0) && ( (!(ys % 100 == 0)) || (ys % 400 == 0) ) ) ? 29 : 28 ); } //regexp for UK postcodes ^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$ function isUKPostcode(strPostcode){ var pattern="^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$" return pattern.test(strPostcode); }