1/* 2 This validation script is copyrighted 3 It cannot be copied without permission 4 (c) 2009-1017 Mark Bleshenski 5*/ 6 7function ValidateThisForm(whichForm) { 8 var str = ''; 9 var elem = whichForm.elements; 10 var isMobile = false; 11 var UA = navigator.userAgent.toUpperCase(); 12 13 try { 14 for (var i = 0; i < elem.length; i++) { 15 if (elem[i].name.toLowerCase().indexOf('_required') > -1) { 16 if (elem[i].type === 'text') { 17 if (elem[i].value === '') { 18 alert("\'" + getName(elem[i].name) + "\' is a required field.") 19 elem[i].focus(); 20 elem[i].select(); 21 return false; 22 } 23 } else if (elem[i].type === 'select-one' && elem[i].selectedIndex === 0) { 24 alert(getName(elem[i].name) + " is a required field. Please select something other than the first item.") 25 elem[i].focus(); 26 return false; 27 } else if (elem[i].type === 'select-mulitple' && elem[i].selectedIndex === 0) { 28 alert(getName(elem[i].name) + " is a required field. Please at least one item.") 29 elem[i].focus(); 30 return false; 31 } else if (elem[i].type === 'checkbox' && !isMobile) { 32 if (!whichForm[elem[i].name].checked) { 33 if (!validateCheckbox(whichForm, elem[i])) { 34 alert(getName(elem[i].name) + " is a required field. Please check at least one item.") 35 elem[i].focus(); 36 elem[i].select(); 37 return false; 38 } 39 }; 40 } else if (elem[i].type === 'radio' && !isMobile) { 41 if (!validateCheckbox(whichForm, elem[i])) { 42 alert(getName(elem[i].name) + " is a required field. Please check one item.") 43 elem[i].focus(); 44 elem[i].select(); 45 return false; 46 }; 47 } 48 } 49 if (elem[i].name.toLowerCase().indexOf('email') > -1) { 50 if (!isEmailValid(elem[i].value) && elem[i].value!=='') { 51 alert("The email address in the \'" + getName(elem[i].name) + "\' field is not valid.") 52 elem[i].focus(); 53 elem[i].select(); 54 return false; 55 } 56 } 57 if (elem[i].value!=="") { 58 if (ContainsHTML(elem[i].value)) { 59 alert(getName(elem[i].name) + " field cannot contain HTML and < or > symbols.") 60 elem[i].focus(); 61 elem[i].select(); 62 return false; 63 } 64 } 65 } 66 } 67 catch (err) { 68 alert("An error has occurred: " + err); 69 return false; 70 } 71 WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$ContentPlaceHolder1$Send", "", true, "", "", false, true)); 72 return true; 73} 74 75function getName(value){ 76 return value.replace(/_required/,""); 77} 78 79function isEmailValid(inputvalue){ 80 var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/; 81 if(pattern.test(inputvalue)){ 82 return true; 83 }else{ 84 return false; 85 } 86} 87 88function ContainsHTML(inputvalue) { 89 var pattern = /^[^<>]+$/; 90 if (pattern.test(inputvalue)) { 91 return false; 92 } else { 93 return true; 94 } 95} 96 97function toNum(checkString) { 98 newString = ""; 99 count = 0; 100 for (i = 0; i < checkString.length; i++) { 101 ch = checkString.substring(i, i + 1); 102 if ((ch >= 0 && ch <= 9)) { 103 newString += ch; 104 } 105 } 106 return newString; 107} 108 109function validateCheckbox(whichForm, myfld) { 110 vfld = whichForm[myfld.name] 111 var count = 0; 112 for (var j = 0; j < vfld.length; j++) 113 if (vfld[j].checked) return true; 114 115 return false; 116} 117
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.