var localValidation = { INVALID:0, VALID:1, INVALID_SKIP_GLOBAL:2, VALID_SKIP_GLOBAL:3 }; var VALIDATE = true; function clearErrors(f) { for(i=0;isz) return "The limit is "+sz+" characters. Please reduce by "+(txt.length-sz)+"."; return null; } function checkPhone(fld) // this one will require more validation { var a = formValue(fld); var i = fld.name.replace(/area/,""); var p = formValue(fld.form.elements[i+"prefix"]); var l = formValue(fld.form.elements[i+"line"]); if (!a && !p && !l) return null; var e = ""; if(!a || /\D/.test(a) || a.length<3) e = "area code"; if(!p || /\D/.test(p) || p.length<3) e += ", prefix"; if(!l || /\D/.test(l) || l.length<4) e += ", line"; e = e.replace(/^, /,'').replace(/, ([^,]*)$/," and $1"); //grammar if(!e) return null; return "A valid numeric "+e+(/, |and/.test(e)?" are":" is")+" required."; } function checkZip(fld) { var z = formValue(fld); var ze = formValue(fld.form.elements[fld.name+"_ext"]); if (!z && !ze) return null; var e = ""; if(!z || /\D/.test(z) || z.length<5) e = "zip code"; if(ze && (/\D/.test(ze) || ze.length<4)) e += " and zip extension"; if(!e) return null; return "Invalid "+e; } function checkURL(fld) { var v = formValue(fld); if (v && !/:\/\//.test(formValue(fld))) return "Enter a full URL (including http://)."; return null; } function checkEmail(fld) { var v = formValue(fld); if (v && !/\S+@\S+/.test(formValue(fld))) // trivial check - don't check for TLD since that isn't actually needed for e-mail return "Enter a full e-mail address"; return null; }