home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 December / Chip_1999-12_cd.bin / internet / ruceni / validate.js < prev    next >
Text File  |  1999-11-02  |  4KB  |  190 lines

  1. //*****************************************************************
  2. function setSel(elem,n) {
  3.     for(var i=0; i<elem.options.length; i++) {
  4.         if (elem.options[i].value==n) {
  5.             elem.options[i].selected=true;
  6.             return;
  7.         }
  8.     }
  9. }
  10.  
  11. //******************************************************************
  12. function valSelect(elem,nazev,item) {
  13. // elem - element Select formulß°e
  14. // nazev - nßzev selektu
  15. // item - kterß polo₧ka v po°adφ nemß b²t vybrßna
  16. //      - -1 mohou b²t vybrßny vÜechny
  17.  
  18.     var poc = elem.length;
  19.     if(elem.selectedIndex<0) {
  20.         alert("Nebyla vybrßna ₧ßdnß polo₧ka v nabφdce "+nazev);
  21.         elem.focus();
  22. //        elem.select();
  23.         return false;            
  24.     }
  25.     if(item>-1) {
  26.         ind=elem.selectedIndex;
  27.         if(ind==item) {
  28.             alert("Nebyla vybrßna ₧ßdnß polo₧ka v nabφdce "+nazev);
  29.             elem.focus();
  30. //            elem.select();
  31.             return false;
  32.         }
  33.     }            
  34.     return true;
  35. }
  36.  
  37. //*****************************************************************
  38. function valPsc(elem) {
  39.     if(!valText(elem,"PS╚")) return false;
  40.     var s=""+elem.value;
  41.     if(!isIn(s,"0123456789") ) {
  42.         alert("Polo₧ka m∙₧e obsahovat jen Φφslice bez mezer");
  43.         elem.focus();
  44.         elem.select();
  45.         return false;            
  46.     }
  47.     if(s.length!=5) {
  48.         alert("PS╚ m∙₧e obsahovat pouze 5 Φφslic");
  49.         elem.focus();
  50.         return false;
  51.     }
  52.     return true;
  53. }
  54. //*****************************************************************
  55. function valCislo(elem, nazev) {
  56.     if(!valText(elem,nazev)) return false;
  57.     var s=""+elem.value;
  58.     if(!isIn(s,"0123456789") ) {
  59.         alert("Polo₧ka m∙₧e obsahovat jen Φφslice bez mezer");
  60.         elem.focus();
  61.         elem.select();
  62.         return false;            
  63.     }
  64.     return true;
  65. }
  66. //*****************************************************************
  67. function valCastka(elem) {
  68.     var s = elem.value;
  69.     var i= parseInt(s);
  70.     if( !(isIn(s,"0123456789,") && (i>=0 && s!="") && count(s,',')<=1) ) {
  71.         alert("Polo₧ka m∙₧e obsahovat jen Φφslice bez mezer\n a jednu desetinnou Φßrku.");
  72.         elem.focus();
  73.         elem.select();
  74.         return false;            
  75.     }
  76.     return true;
  77. }
  78. //*****************************************************************
  79. function valText(elem,nazev) {
  80.     var s=elem.value;
  81.     if (s.length==0 || count(s, ' ')==s.length) {
  82.         alert("Nenφ zadanß polo₧ka: "+nazev);
  83.         elem.focus();
  84.         elem.select();
  85.         return false;            
  86.     } else 
  87.         return true;         
  88. }
  89. //*****************************************************************
  90. function isIn(m, validChars) {
  91.   var s=m;
  92.     found=true;
  93.     for(i=0; found && i<s.length; i++) {
  94.         found=false;
  95.         for(j=0; !found && j<validChars.length; j++) {
  96.             found= found || s.charAt(i)==validChars.charAt(j);        
  97.         }
  98.     }
  99.     return found;
  100. }
  101.  
  102. //*****************************************************************
  103. function count(s,charSet) {
  104.     counter=0;
  105.     for(i=0; i<s.length; i++) {
  106.         if(charSet.indexOf(s.charAt(i)) > -1)
  107.             counter++;
  108.     }
  109.     return counter;
  110. }
  111. //***************************************************
  112. function Split2(s,c) {
  113.     var arr= new Array;
  114.     pre=0;
  115.     for(n=0; (now=s.indexOf(c,pre))!=-1; n++) {
  116.         arr[n]=s.substring(pre,now);
  117.         pre=now+1;
  118.     }
  119.     arr[n]=s.substring(pre,s.length);
  120.     return arr;
  121. }
  122. //***************************************************
  123. function valDatum(dat)  {
  124.  
  125.     d=0;
  126.     m=0;
  127.     r=0;
  128.     t1=0;
  129.     t2=0;
  130.     sep=".";
  131.     ok1=true;
  132.     var aDat = new Array();
  133.     aDat=Split2(dat,sep);
  134.     if(!(aDat.length==3))
  135.         ok1=false;
  136.     d=parseInt(aDat[0],10);
  137.     r=aDat[2];
  138.     m=parseInt(aDat[1],10);
  139.     if(m<1 || m>12) 
  140.         ok1=false;
  141.     if(d<1 || d>31) 
  142.         ok1=false;
  143.     if(m==2 && d>29)
  144.         ok1=false;
  145.     if(m>1) {
  146.         if("46911".indexOf(m)>-1 && d>30) 
  147.             ok1=false;
  148.     }
  149.     if(!(r.length==4)) 
  150.         ok1=false;
  151.     if(!ok1) 
  152.         alert("V datumu je chyba - "+dat);
  153.  
  154.     return ok1;        
  155. }
  156.  
  157.  
  158. var set_numeric = "0123456789";
  159. var set_alfa_numeric = "0123456789" + "aΣßbcΦδd∩eΘ∞fghiφjkl╛mn≥o≤÷pqr°sÜt¥u·∙ⁿvwxy²z " + "A─┴BC╚╦D╧E╔╠FGHI═JKL╝MN╥O╙╓PQR╪SèTìU┌┘VWXY▌Z";
  160.  
  161. function ChkInput(frm, nazev,  allow_set, pov )
  162. {
  163.   var i,c,val,len,res;
  164.  
  165.   val = frm.value; 
  166.   if ((val=='') && (pov==1)) {
  167.       alert("Polo₧ka < " + nazev + " > je povinnß ");
  168.     frm.focus();
  169.     frm.select();
  170.       return(false);
  171.   }
  172.   len = val.length;
  173.   for(i=0;i<len; i++) {
  174.     c = val.charAt(i);
  175.     res = allow_set.indexOf(c);
  176.     if(res < 0) {
  177.       alert('Chyba v polo₧ce < ' + nazev + ' > \n\nNepovolen² znak [' + c + ']'); 
  178.       frm.focus();
  179.       frm.select();
  180.       return(false); 
  181.     }
  182.   }
  183.  
  184.   return(true);
  185. }
  186.  
  187.  
  188.  
  189. //***************************************************
  190.