简单的写了一个:
<script>
function check()
{
  var d1=document.getElementById('d1').value;
  var d2=document.getElementById('d2').value;
  var regx=/\d{4}-\d{1,2}-\d{1,2}/;
  if(!(regx.test(d1)&&regx.test(d2)))
    {
      alert('日期格式错误');return;
    }
  if(parseInt(d1.split('-')[1])>12||parseInt(d2.split('-')[1])>12)
    {
      alert('月份不能大于12');return;
    }
  if(parseInt(d1.split('-')[2])>31||parseInt(d2.split('-')[2])>31)
    {
      alert('月份不能大于31');return;
    }   if(parseInt(d1.replace(/-/g,''))>parseInt(d2.replace(/-/g,'')))
    {
      alert('日期一大于二');return;
    }
    alert('日期一小于二');
}
</script>
<body>
日期一:<input type=text id="d1"><br>
日期二:<input type=text id="d2"><br>
<input type=button value="验证" onclick="check()">
</body>

解决方案 »

  1.   

    不好意思,纠正一下:
    var regx=/\d{4}-\d{1,2}-\d{1,2}/;
    ====>
    var regx=/^\d{4}-\d{1,2}-\d{1,2}$/;
      

  2.   

    <HTML>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    function check(){
    String.prototype.isDate = function()
    {
       var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
       if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
       return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }String.prototype.isTime = function()
    {
      var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
      if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
      return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
    }
    //2002-1-31 12:34:56
    var datavalue = document.forms[0].textfield.value ;
    if(!(datavalue.isTime())){
    alert("输入日期错误:XXXX-XX-XX XX:XX:XX");
    document.forms[0].textfield.select();
    return false;
    }var datavalue2 = document.forms[0].textfield2.value ;
    if(!(datavalue2.isDate())){
    alert("输入日期错误2:XXXX-XX-XX");
    document.forms[0].textfield2.select();
    return false;
    }}</SCRIPT>
    </head> 
     <body ><form name="form1" method="post"   onsubmit="return check();">
      <p>
        <input type="text" name="textfield">
        <input type="text" name="textfield2">
    </p>
      <p>    <input type="submit" name="Submit" value="提交">
        </p>
    </form>
    </body>
    </html>
      

  3.   

    <HTML>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    function check(){
    String.prototype.isDate = function()
    {
       var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
       if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
       return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }String.prototype.isTime = function()
    {
      var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
      if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
      return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
    }
    //2002-1-31 12:34:56
    var datavalue = document.forms[0].textfield.value ;
    if(!(datavalue.isDate())){
    alert("输入日期错误:XXXX-XX-XX XX:XX:XX");
    document.forms[0].textfield.select();
    return false;
    }var datavalue2 = document.forms[0].textfield2.value ;
    if(!(datavalue2.isDate())){
    alert("输入日期错误2:XXXX-XX-XX");
    document.forms[0].textfield2.select();
    return false;
    }}</SCRIPT>
    </head> 
     <body ><form name="form1" method="post"   onsubmit="return check();">
      <p>
        <input type="text" name="textfield">
        <input type="text" name="textfield2">
    </p>
      <p>    <input type="submit" name="Submit" value="提交">
        </p>
    </form>
    </body>
    </html>
      

  4.   

    <HTML>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    function check(){
    String.prototype.isDate = function()
    {
       var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
       if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
       return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }String.prototype.isTime = function()
    {
      var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
      if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
      return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
    }
    //2002-1-31 12:34:56
    var datavalue = document.forms[0].textfield.value ;
    if(datavalue == ""){
    alert("输入日期不能为空");
    document.forms[0].textfield.select();
    return false;
    }
    if(!(datavalue.isDate())){
    alert("输入日期错误:XXXX-XX-XX");
    document.forms[0].textfield.select();
    return false;
    }var datavalue2 = document.forms[0].textfield2.value ;
    if(datavalue2 == ""){
    alert("输入日期不能为空");
    document.forms[0].textfield2.select();
    return false;
    }
    if(!(datavalue2.isDate())){
    alert("输入日期错误2:XXXX-XX-XX");
    document.forms[0].textfield2.select();
    return false;
    }}</SCRIPT>
    </head> 
     <body ><form name="form1" method="post"   onsubmit="return check();">
      <p>
        <input type="text" name="textfield">
        <input type="text" name="textfield2">
    </p>
      <p>    <input type="submit" name="Submit" value="提交">
        </p>
    </form>
    </body>
    </html>