var retDate; // Проверява за празен стринг function checkHTMLTags(vstr) { vstr=vstr.toUpperCase(); vstr = vstr.replace("<","<"); var tmpChar = unescape("%3C"); if (vstr.indexOf(tmpChar+"SCRIPT")!=-1 || vstr.indexOf(tmpChar+"FORM")!=-1 || vstr.indexOf(tmpChar+"OBJECT")!=-1 || vstr.indexOf(tmpChar+"APPLET")!=-1 || vstr.indexOf(tmpChar+"EMBED")!=-1) { alert("Не можете да използвате HTML тагове!"); return false; } return true; } // Проверява за празен стринг function EmptyStr(vstr,strMess) { var i,ch; for (i=0;i < vstr.length;i++) { ch=vstr.charAt(i); if ((ch!=" ") && (ch!=unescape("%0D")) && (ch!=unescape("%0A"))) return !checkHTMLTags(vstr); } alert(strMess); return true; } // Целочислено деление function div(x,y) { return parseInt(x/y); } // Остатък от деление function mod(x,y) { return (x-parseInt(x/y)*y); } // Маха нулите и празните символи в началото на стринга strFrom, и връща цяло число function StrToInt(strFrom) { while ((strFrom.charAt(0)=='0') || (strFrom.charAt(0)==' ') ) strFrom=strFrom.substr(1); var temp=parseInt(strFrom); if (isNaN(temp)) return 0; else return temp; } function BlankOff(strText) { var i=parseInt(strText.indexOf(" ",0)); while ((i!=-1) && (strText.length>0)) { strText=strText.substring(0,i-1)+strText.substring(i+1); i=parseInt(strText.indexOf(" ",0)); } return strText; } // Проверка за валидност на дата // Връща датата, или стринга -1, ако датата не е валидна function checkDate(strDate) { var i,j,lenStr,month,day,year,ch,oddYear; strDate=BlankOff(strDate); if (strDate=="") return -1; lenStr=strDate.length; // Максимум MM/DD/YYYY(10), минимум M/D/Y(5) if ((lenStr>10) || (lenStr<5)) return -1; month=0; day=0; year=0; oddYear=-1; // дали е високосна година i=0; j=0; while (i < lenStr) { ch=strDate.charAt(i); if ((ch=='.') || (ch=='/')) { day=StrToInt(strDate.substring(j,i)); j=++i; break; } i++; } if ((day>31) || (day<1)) return -1; while (i < lenStr) { ch=strDate.charAt(i); if ((ch=='.') || (ch=='/')) { month=StrToInt(strDate.substring(j,i)); break; } i++; } if ((month>12) || (month<1)) return -1; year=StrToInt(strDate.substring(++i)); if (year<0) return -1; if (year<100) if (year>90) year+=1900; else year+=2000; // дали е високосна година if ((mod(year,4)==0) && ((mod(year,100)!=0) || (mod(year,400)==0)) ) oddYear=true; if ( ((month==4) || (month==6) || (month==9) || (month==11)) && (day>30)) return -1; if (month==2) if (oddYear) { if (day>29) return -1; } else if (day>28) return -1; if (month<10) month="0"+month; if (day<10) day="0"+day; retDate = day+"/"+month+"/"+year; return month+"/"+day+"/"+year; }