2006-10-31

在广东发展银行的网站上发现的一段极其恶心的代码,一叶知秋,广发的网银可想而知!!

function MM_changsubmit() {
     var a = MM_changsubmit.arguments ;
     document.form1.query.value = a [0];
        var from = form1.startdate .value;
        var to = form1.enddate. value;

        if (a[0] == "查询")    {
//          document.form1.account_no.value="allAcctQuery";
                document.form1.allAcctFlag.value="allAcctQuery" ;
//              alert(document.form1.allAcctFlag.value);
                document.form1.turnPage.value="false" ;
        }
        else if (a[0 ] == "单个账号查询")       {
                document.form1.turnPage.value="false" ; 
        }
        else   {
                document.form1.turnPage.value="true" ;
        }
        if(form1.startdate.value == null || form1.startdate.value == "" || form1.startdate.value.length !=8 ) {
               alert("请填写正确的开始日期 yyyymmdd");
                form1.startdate.focus();
                //return false;
        } else if(form1. enddate.value == null || form1. enddate.value == "" || form1.enddate.value.length !=8) {
               alert("请填写正确的结束日期 yyyymmdd");
                form1.enddate.focus();
                //return false;
        } else if(!validDate( from)) {
               alert("请填写正确的开始日期 yyyymmdd");
                form1.startdate.focus();
        } else if(!validDate( to)) {
               alert("请填写正确的结束日期 yyyymmdd");
                form1.enddate.focus(); 
        } else if(from> to) {
                alert("错误:起始日期不可大于结束日期"+to);
                form1.startdate.focus();
                //return false;
        } else {
               document.form1.submit();
        }
}
function validDate(vday) {
      var ret = true;
         //alert(vday);
         var day = new String (vday);
         if(day.length!=8) {
               ret = false;
         } else {
               var y = day.substr (0,4);
                //alert(y);
                var m = day.substr (4,2);
                //alert(m);
                var d = day.substr (6,2);
                //alert(d);
               
                var m1 = day.substr (4,1);
                //alert(m1);
                var m2 = day.substr (5,1);
                //alert(m2);
                var d1 = day.substr (6,1);
                //alert(d1);
                var d2 = day.substr (7,1);
                //alert(d2);
               
                if(m1!="0" && m1!="1") {
                        ret = false;
                } else {
                        if(m1 == "1" ) {
                           if(m2 != "0" && m2!="1" && m2!="2") {
                                        ret = false;
                                }
                        }
                        if(d1!="0" && d1!="1" && d1!= "2" && d1!="3") {
                            ret = false;
                        } else {
                            if(d1=="3" && d2!="0" && d2!= "1") {
                                    ret = false;
                                }
                        }
                }
                if(m=="01" || m=="03" || m=="05" || m=="07" || m =="08" || m=="10" || m=="12") {
               
                } else if(m== "04" || m=="06" || m=="09" || m== "11") {
                        if(d=="31") ret = false;
                } else if(m== "02") {
                   var yyy = parseInt(y );
                        var ddd = parseInt(d );
                        // 不能被4整除
                        if(yyy%4!=0 ) {
                           if(ddd>28) ret = false;
                        // 能被4整除
                        } else  {
                           // 能被100整除,而不能被400 整除,不是润年                 
                                if(yyy%400!=0 && yyy%100 ==0) {
                               if(ddd>28) ret = false;
                                } else {
                                        if(ddd>29) ret = false;
                                }
                        }
                }
               
         }
         
         return ret;
}

所见所闻所思