如题, 要求如下:
要求验证年月1. 一定要6位长度,例如 200804
2. 前四位,要大于2000,小于3000
3. 最后两位,要大于等于01, 小于等于12谢谢各位了!

解决方案 »

  1.   

    http://www.java2000.net/viewthread.jsp?tid=471
    日期的完全判断
      

  2.   

    http://www.java2000.net/viewthread.jsp?tid=471
      

  3.   

    String date="2008-04-11"; (这个date可以是你从数据库中获得的值)
    date.substring(0,7);
    System.out.println(date.substring(0,6); 结果 2008-04 
    要200804也可以啊
    date.substring(0,4);
    date.substring(6,7);
    String date1=date.substring(0,4)+date.substring(5,7);
    System.out.println(date1); 结果 200804
    datex=date.substring(0,4);
    datey=date.substring(8,10);
    判断前四为大于2000也没有问题啊
    数据库中查询语句  select * from  (table name) where (datex) >2000  and (datex)<3000 and (datey)
    >=01 and (datey)<=12你自己尝试用下substring 截取字符串应该不难出结果
      

  4.   

    在JS用不着用正则,可以直接用substring或者substr方法截取后比较就行了~
      

  5.   


    public class RTimeTest 
    {
    public static void main(String[] args)
    {
    String regular="2\\d{3}(0[1-9]|1[0-2])";
    String test1="209001";
    String test2="300012";
    String test3="200913";
    System.out.println(test1.matches(regular));
    System.out.println(test2.matches(regular));
    System.out.println(test3.matches(regular));

    }
    }
    结果
    true
    false
    false
      

  6.   

    这个函数完全可以实现你要求的功能了,已经测试过,呵呵return了值是为了你如果是用在SUBMIT的情况下写的~
    <html>
    <head>
    <script type="text/javascript">
    function checkDate()

         var date = document.getElementById("test").value;
     if(date.length != "6" || !date.match(/^\d+$/))//如需校验输入是否为数字,可以用"^\d+$"正则判断一下
     {
         alert("输入值长度应该为6的数字");
     return false;
     }
     else{
         var year = date.substr(0,4);
     var month = date.substr(4,2);
     if(year < 2000 || year > 3000)
     {
         alert("输入的年份要在2000到3000之间");
     return false;
     }
     if(month < 01 || month > 12)
     {
         alert("输入的月份要在01到12之间");
     return false;
     }
     return true;
     }
     
    } </script> 
    </head>
    <body>
    <form>
    <table>
    <tr>
    <td><input id="test" type="text" name="ss" value=""></td>
    <td><input type="button" name="sub" value="提交" onclick="checkDate()"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  7.   

    郁闷,没注意LZ是在java中用还是在JS中用.....
    在java中用
    2\\d{3}(0[1-9]|1[0|1|2])
    就行了,10楼的已经给出答案了,不好意思~~呵呵