/* '' Page Name :- validation.js '' purpose :- Validation of various Fields '' Created By :- Nilambari Patil '' Created On :- 06-11-2004 '' Latest Modified :- 09-11-2004 */ function trim(inputString) { if (typeof inputString != "string") { return inputString; } var retValue = inputString; var ch = retValue.substring(0, 1); while (ch == " ") { retValue = retValue.substring(1, retValue.length); ch = retValue.substring(0, 1); } ch = retValue.substring(retValue.length-1, retValue.length); while (ch == " ") { retValue = retValue.substring(0, retValue.length-1); ch = retValue.substring(retValue.length-1, retValue.length); } while (retValue.indexOf(" ") != -1) { retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ")+1, retValue.length); } return retValue; } // Remove leading spaces and carriage returns AND Remove trailing spaces and carriage returns function PreTrim(s) { // Remove leading spaces and carriage returns while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) { s = s.substring(1,s.length); } // Remove trailing spaces and carriage returns while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) { s = s.substring(0,s.length-1); } return s; } //check name function checkname(sText) { var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ& "; var IsNumber=true; var Char; if(sText.length==0) { return false; } else { for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber; } } //check name function checkcity(sText) { var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ& "; var IsNumber=true; var Char; if(sText.length==0) { return false; } else { for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber; } } function checksalutation(sText) { var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var IsNumber=true; var Char; if(sText.length==0) { return false; } else { for (i = 0; i < sText.length && IsNumber == true; i++) { Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1) { IsNumber = false; } } return IsNumber; } } //check Address function checkadd(sText) { var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789.#@-,;:/*_%$!&()+"; return inValidCharSet(sText,ValidChars) } //check URL function checkurl(sText) { var ValidChars = ":abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789./_-"; var CharsArr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var IsNumber=true; var Char; var dotcnt=0; var slcnt=0; for (i = 0; i < sText.length; i++) { // Check if current character is '.' and count its occurances var c = sText.charAt(i); if (c==".") dotcnt++; } if (dotcnt == 0) return false; //chFlg = isChar(sText); return inValidCharSet(sText,ValidChars); } function allDigits(str) { return inValidCharSet(str,"0123456789"); } function inValidCharSet(str,charset){ var result = true; for (var i=0;i0)) { var elems = formValue.split("/"); result = (elems.length == 2); // should be two components var expired = false; if (result) { var month = parseInt(elems[0],10); var year = parseInt(elems[1],10); if (elems[1].length == 2) year += 2000; var now = new Date(); var nowMonth = now.getMonth() + 1; var nowYear = now.getFullYear(); expired = (nowYear > year) || ((nowYear == year ) && (nowMonth > month)); result = allDigits(elems[0]) && (month > 0) && (month < 13) && allDigits(elems[1]) && ((elems[1].length == 2) || (elems[1].length == 4)); } if (!result) { alert('Please enter the "' + fieldLabel +'" field.'); document.mycart.expmonth.focus(); result = false; } else if (expired) { result = false; alert('The date for "' + fieldLabel +'" has expired.'); document.mycart.expmonth.focus(); } } return result; } function checkCC(s) { var i, n, c, r, t; // First, reverse the string and remove any non-numeric characters. r = ""; for (i = 0; i < s.length; i++) { c = parseInt(s.charAt(i), 10); if (c >= 0 && c <= 9) { r = c + r; } else { return false; } } // Check for a bad string. if (r.length <= 1) return false; // Now run through each single digit to create a new string. Even digits // are multiplied by two, odd digits are left alone. t = ""; for (i = 0; i < r.length; i++) { c = parseInt(r.charAt(i), 10); if (i % 2 != 0) c *= 2; t = t + c; } // Finally, add up all the single digits in this string. n = 0; for (i = 0; i < t.length; i++) { c = parseInt(t.charAt(i), 10); n = n + c; } // If the resulting sum is an even multiple of ten (but not zero), the // card number is good. if (n != 0 && n % 10 == 0) return true; else return false; } function isInteger(s) { var i; for (i = 0; i < s.length; i++) { // Check that current character is number. var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } // All characters are numbers. return true; } function isChar(s) { var i; for (i = 0; i < s.length; i++) { // Check that current character is number. var c = s.charAt(i); if (((c < "0") || (c > "9"))) return true; } // All characters are numbers. return false; } function isFloat(s) { var i; var cnt; cnt=0; if (s.length==0) return false; for (i = 0; i <= s.length; i++) { // Check if current character is '.' and count its occurances var c = s.charAt(i); if (c==".") cnt++; if (cnt > 1) return false; //break; } return inValidCharSet(s,"0123456789."); } 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 middletrim(inputString) { Spacing=true for(i=0;i0) { if(i!=inputString.length-1) { if(inputString.charAt(i)==" ") { Spacing=false; i=inputString.length } } } } return Spacing; } function checkInternationalPhone(strPhone) { var digits = "0123456789"; var phoneNumberDelimiters = "-"; var validWorldPhoneChars = phoneNumberDelimiters; // Minimum no of digits in an international phone no. var minDigitsInIPhoneNumber = 10; s=stripCharsInBag(strPhone,validWorldPhoneChars); return (isInteger(s) && s.length == minDigitsInIPhoneNumber); } function checkPhone(strPhone) { var digits = "0123456789+- ()"; var phoneNumberDelimiters = "-"; var phoneNumberDelimiters1 = "+"; var validPhoneChars = phoneNumberDelimiters; var validPhoneChars1 = phoneNumberDelimiters1; s=stripCharsInBag(strPhone,validPhoneChars); s=stripCharsInBag(s,validPhoneChars1); //return (isInteger(s)); return inValidCharSet(strPhone,digits) } function checkMobile(strPhone) { var digits = "0123456789"; var phoneNumberDelimiters1 = "+"; var validPhoneChars1 = phoneNumberDelimiters1; s=stripCharsInBag(strPhone,validPhoneChars1); return (isInteger(s)); } function checkEmailAddress(strEmail) { var atcnt, dotcnt; atcnt=0; dotcnt=0; //alert(strEmail); if (strEmail.length==0) return false; for (i = 0; i < strEmail.length; i++) { // Check if current character is '@' and count its occurances var c = strEmail.charAt(i); if (c=="@") atcnt++; if (c==".") dotcnt++; if (atcnt > 1) return false; } if (atcnt == 0) return false; if (dotcnt == 0) return false; if ((strEmail.indexOf("@")==0) || (strEmail.indexOf(".")==0)) return false; if ((strEmail.indexOf("@")==strEmail.length-1) || (strEmail.indexOf(".")==strEmail.length-1)) return false; if ((strEmail.indexOf("@.")>=0) || (strEmail.indexOf(".@")>=0)) return false; return inValidCharSet(strEmail,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.0123456789_-"); } function validatePassword(strpwd){ for (i = 0; i < strpwd.length; i++) { // Check the current character var c = strpwd.charAt(i); if ((c=="\"")||(c=="-")||(c=="/")||(c=="\"")||(c=="'")||(c==" ")||(c=="=")) return false; } return true; } function checkprojname(projName){ return inValidCharSet(projName,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789_-"); } function isfutureDate(strDate) { var d = new Date(); var dateStr; dateStr = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() tempArr = strDate.split("/") strDate = tempArr[1] + "/" + tempArr[0] + "/" + tempArr[2] dtArr = strDate.split("/"); if (dtArr[1].length<2) dtArr[1]="0"+dtArr[1]; if (dtArr[0].length<2) dtArr[0]="0"+dtArr[0]; if (d.getFullYear()>dtArr[2]) return false; else if (d.getFullYear()==dtArr[2]){ if ((d.getMonth()+1)>dtArr[1]) return false; else if ((d.getMonth()+1)==dtArr[1]){ if (d.getDate()>=dtArr[0]) return false; } } return true; } function isfutureDateA(strDate) { var d = new Date(); var dateStr; dateStr = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() tempArr = strDate.split("/") strDate = tempArr[1] + "/" + tempArr[0] + "/" + tempArr[2] dtArr = strDate.split("/"); if (dtArr[1].length<2) dtArr[1]="0"+dtArr[1]; if (dtArr[0].length<2) dtArr[0]="0"+dtArr[0]; if (d.getFullYear()>dtArr[2]) return false; else if (d.getFullYear()==dtArr[2]){ if ((d.getMonth()+1)>dtArr[1]) return false; else if ((d.getMonth()+1)==dtArr[1]){ if (d.getDate()parseInt(dtArr[2])) {return false;} else if (parseInt(dateStrArr[2])==parseInt(dtArr[2])) { if (dateStrArr[0]=="08") dateStrArr[0]=8 if (dtArr[0]=="09") dtArr[0]=9 if ((parseInt(dateStrArr[0])>parseInt(dtArr[0]))) { return false;} else if (parseInt(dateStrArr[0])==parseInt(dtArr[0])) { if (dateStrArr[1]=="08") dateStrArr[1]="8" if (dtArr[1]=="09") dtArr[1]="9" if (parseInt(dateStrArr[1])>parseInt(dtArr[1])) {return false;} } } return true; */ var dateStrArr; dateStrArr = strDate1.split("/"); dtArr = strDate2.split("/"); if (dateStrArr[2]>dtArr[2]) {return false;} else if (dateStrArr[2]==dtArr[2]) { if (dateStrArr[0]>dtArr[0]) { return false;} else if (dateStrArr[0]==dtArr[0]) { if (dateStrArr[1]>dtArr[1]) {return false;} } } return true; } function islessDate(strDate1,strDate2) { var dateStrArr,tempArr; dateStrArr = strDate1.split("/"); dtArr = strDate2.split("/"); if (dateStrArr[2]=8)) monthDays = 31; if (((mm%2)==1) && (parseInt(mm)>=8)) monthDays = 30; if (mm=="08") monthDays = 31; if (monthDays29) ||((parseInt(myDayStr)-1)==29 && !isLeapYear(myYearStr))){ //alert("This Month Does not have " + (myDayStr-1) + " Days."); return false; } } /* Using form values, create a new date object which looks like "Wed Jan 1 00:00:00 EST 1975". */ var myDate = new Date( myDateStr ); //alert(myDate) // Convert the date to a string so we can parse it. var myDate_string = myDate.toGMTString(); /* Split the string at every space and put the values into an array so, using the previous example, the first element in the array is "Wed", the second element is "Jan", the third element is "1", etc. */ //alert(myDate_string) var myDate_array = myDate_string.split( ' ' ); /* If we entered "Feb 31, 1975" in the form, the "new Date()" function converts the value to "Mar 3, 1975". Therefore, we compare the month in the array with the month we entered into the form. If they match, then the date is valid, otherwise, the date is NOT valid. */ //alert("myDate_array[2] = " + myDate_array[2]); //alert("myMonthStr = " + myMonthStr); if ( myDate_array[2] != myMonthStr ) { return false; } else { return true; } } function checkfldrname(sText) { var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789#@-;_.%$!&()+"; return inValidCharSet(sText,ValidChars) }