<SCRIPT LANGUAGE="JavaScript">
document.write(/^\d{1,4}-\d{1,2}-\d{1,2}$/.test("2003-12-1"))
</SCRIPT>

解决方案 »

  1.   

    别人的资料:
          
    标题     页面上的javascript判断    d80(原作)  
      
    关键字     javascript 
      
    经过一段时间的编程,感觉这些javascript比较长用所以就整理了一下,其中有判断是否为空,判断数字,判断金额,及判断时间的。像那些可以写到js中,这样就在页面上简化了好多了。 <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script language="JavaScript">
    去掉空格
    function Trim(str){
     if(str.charAt(0) == " "){
      str = str.slice(1);
      str = Trim(str); 
     }
     return str;
    }
    判断是否是空
    function isEmpty(pObj,errMsg){
     var obj = eval(pObj);
     if( obj == null || Trim(obj.value) == ""){
      if (errMsg == null || errMsg =="")
       alert("输入为空!");
      else
       alert(errMsg); 
      obj.focus(); 
      return false;
     }
     return true;
    }
    判断是否是数字
    function isNumber(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890";
     if(!isEmpty(pObj,errMsg))return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
       if (errMsg == null || errMsg =="")
        alert("数据不符合要求,请检查");
       else
        alert(errMsg);
       if(obj.type=="text") 
        obj.focus(); 
       return false; 
      }
     }
     return true;
    }//判断是否是数字,数字可以为负数
    function isNegative(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890-";
     if(!isEmpty(pObj,errMsg))return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
       if (errMsg == null || errMsg =="")
        alert("数据不符合要求,请检查");
       else
        alert(errMsg);
       if(obj.type=="text") 
        obj.focus(); 
       return false; 
      }else{
       if(i>0){
        if(obj.value.substring(i,i+1)=="-"){
         if (errMsg == null || errMsg =="")
          alert("数据不符合要求,请检查");
         else
          alert(errMsg);   
         if(obj.type=="text") 
         obj.focus(); 
         return false; 
        }
       }
      }
     }
     return true;
    }判断是否是钱的形式
    function isMoney(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890.";
     if(!isEmpty(pObj,errMsg)) return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
       if (errMsg == null || errMsg =="")
        alert("数据不符合要求,请检查");
       else
        alert(errMsg);   
       if(obj.type=="text") 
        obj.focus(); 
       return false; 
      }else{
       tempLen=obj.value.indexOf(".");
       if(tempLen!=-1){
        strLen=obj.value.substring(tempLen+1,obj.value.length);
        if(strLen.length>2){
         if (errMsg == null || errMsg =="")
          alert("数据不符合要求,请检查");
         else
          alert(errMsg);   
         if(obj.type=="text") 
         obj.focus(); 
         return false; 
        }
       }
      }
     }
     return true;
    }function isLeapYear(year) 

     if((year%4==0&&year%100!=0)||(year%400==0)) 
     { 
     return true; 
     }  
     return false; 
    } //判断时间是否正确function isDate(checktext){
    var datetime;
    var year,month,day;
    var gone,gtwo;
    if(Trim(checktext.value)!=""){
     datetime=Trim(checktext.value);
     if(datetime.length==10){
      year=datetime.substring(0,4);
      if(isNaN(year)==true){
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
       checktext.focus();
       return false;
      }
      gone=datetime.substring(4,5);
      month=datetime.substring(5,7);
      if(isNaN(month)==true){
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
       checktext.focus();
       return false;
      }
      gtwo=datetime.substring(7,8);
      day=datetime.substring(8,10);
      if(isNaN(day)==true){
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
       checktext.focus();
       return false;
      }
      if((gone=="-")&&(gtwo=="-")){
       if(month<1||month>12) { 
        alert("月份必须在01和12之间!"); 
        checktext.focus();
        return false; 
        } 
       if(day<1||day>31){ 
        alert("日期必须在01和31之间!");
        checktext.focus(); 
        return false; 
       }else{
        if(month==2){  
         if(isLeapYear(year)&&day>29){ 
           alert("二月份日期必须在01到29之间!"); 
           checktext.focus();
           return false; 
         }       
         if(!isLeapYear(year)&&day>28){ 
           alert("二月份日期必须在01到28之间!");
           checktext.focus(); 
           return false; 
         } 
        } 
        if((month==4||month==6||month==9||month==11)&&(day>30)){ 
         alert("在四,六,九,十一月份 \n日期必须在01到30之间!");
         checktext.focus(); 
         return false; 
        } 
       }
      }else{
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)");
       checktext.focus();
       return false;
      }
     }else{
      alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)");
      checktext.focus();
      return false;
     }
    }else{
     return true;
    }
    return true;
    }</script><script language="JavaScript">
    function checked(theform){
     if (!isEmpty(theform.aa,'请输入数据')) return false;
    }
    </script>
    </head>
    <body>
    <form method="post" action="" name="dd" onSubmit="return checked(this);">
    判断是否输入数据<input type="text" name="aa"><br>
    判断数量<input type="text" name="bb" onChange="return isNumber(this,'');"><br>判断数量,可以为负数<input type="text" name="dd" onChange="return isNegative(this,'');"><br>判断金额<input type="text" name="cc" onChange="return isMoney(this,'');"><br>判断时间<input type="text" name="ee" onChange="return isDate(this)"><br>
    <input type="submit" value="submit">
    </form>
    </body>
    </html>