我的代码大概是这么写的:
SimpleDateFormat formater=new SimpleDateFormat (yyyy/M/d);
try
{formater.prase(变量year/变量month/变量day);}
catch
{弹出错误窗口;}
但发现prase不能有效检验我输入的字符。我输入零。但还是通过了…… 
请问有什么办法吗》?

解决方案 »

  1.   

    javascript 的,参数未对应的text文本框对象 例如 你的form名为Form1 年份的名称为year1传入 Form1.year1
    function checkDate(objYear,objMonth,objDay){
        var temp;
        var year,month,day;
        year = objYear.value;
        month = objMonth.value;
        day = objDay.value;
    if(month.length==1){
    objMonth.value ="0"+objMonth.value;
    } if(day.length==1){
    objDay.value ="0"+objDay.value;
    }    var Str=year+month+day;
        if(!isPositiveInteger(objYear.value)){
          objYear.focus();
          
          objYear.select();
          alert(" \u5305\u542b\u975e\u6570\u5b57\u5b57\u7b26!"); //alert(" include some error char!");
          return false;
        }
        if(!isPositiveInteger(objMonth.value)){
          objMonth.focus();
          objMonth.select();
          alert(" \u5305\u542b\u975e\u6570\u5b57\u5b57\u7b26!"); //alert(" include some error char!");
          return false;
        }
        if(!isPositiveInteger(objDay.value)){
          objDay.focus();
          objDay.select();
          alert(" \u5305\u542b\u975e\u6570\u5b57\u5b57\u7b26!"); //alert(" include some error char!");
          return false;
        }
        //检查年的格式
        year=parseInt(year,10);
        if(year<1900 || year>2200){
          alert("\u5e74\u4efd\u5fc5\u987b\u57281900\u548c2200\u4e4b\u95f4!");//alert( "year must between 1900 and 2200!");
          objYear.focus();
          objYear.select();
          return false;
        }    //检查月的格式
        month=parseInt(month,10);
        if(month<1 ||month>12){
          alert("\u6708\u4efd\u5fc5\u987b\u57281\u523012\u4e4b\u95f4!");//alert( "month must between 1 abd 12!");
          objMonth.focus();
          objMonth.select();
          return false;
        }    //检查日的格式
        day=parseInt(day,10);
        if((day==0)||(day>31)){
          alert( "\u5929\u6570\u5fc5\u987b\u57281\u572831\u4e4b\u95f4!");//alert( "day must be 0 and 31!");
          objDay.focus();
          objDay.select();
          return false;
        }
        else if(day>28 && day<31){
          if(month==2){
            if(day!=29){
              alert( year+"\u5e74"+month+"\u6708\u6ca1\u6709"+day+"\u5929!");// alert( year+"year"+month+"month no have"+day+"day!");
              objDay.focus();
              objDay.select();
              return false;
            }
            else{
              if((year%4)!=0){
                alert( year+"\u5e74"+month+"\u6708\u6ca1\u6709"+day+"\u5929!");// alert( year+"year"+month+"month no have"+day+"day!");
                objDay.focus();
                objDay.select();
                return false;
              }
              else{
                if((year%100==0)&&(year%400!=0)){
                  alert( year+"\u5e74"+month+"\u6708\u6ca1\u6709"+day+"\u5929!");// alert( year+"year"+month+"month no have"+day+"day!");
                  objDay.focus();
                  objDay.select();
                  return false;
                }
              }
            }
          }
        }
        else if(day==31){
          if((month==2)||(month==4)||(month==6)||(month==9)||(month==11)){
            alert( month+"\u6708\u6ca1\u6709"+day+"\u5929!");//alert( month+"month no have "+day+"day");
            objDay.focus();
            objDay.select();
            return false;
          }
        }    return true;
      }
      

  2.   

    不是阿。我是在jbulider下面做的java程序。不是js脚本阿:)