function isDate(str)
{
  var re = /,/g;
  str = str.replace(re,"/");
  re=/-/g;
  str = str.replace(re,"/");
  var dt=new Date(str);
  return !isNaN(dt);
}
str = "2001,11-21  ";
alert(isDate(str)); ------------
只要按照年月日的顺序即可,中间间隔以"," "-"

解决方案 »

  1.   

    <script>
    d=new Date("dsfhsf");
    if (isNaN(d.toLocaleString())) alert("no");
    else alert(d.toLocaleString());
    </script>
      

  2.   

    上面写的有点问题,试试下面的
    <script>
    chkDate("2002/3/5");
    chkdate("2002-3-5");function chkDate(date){
    d=new Date(data).toLocaleString();
    if (d.indexOf("年")) return d;
    return false;
    }
    </script>
      

  3.   

    <script language="VBscript">
    if isDate("2002/3/4") then
       alert "yes"
    else
       alert "no"
    end if</script>
      

  4.   

    其实都没有严格检查<script>
    chkDate("2002/3/5");
    chkDate("2002-343-5");function chkDate(date){
    d=new Date(date).toLocaleString();
    if (d.indexOf("年")) return true;
    return false;
    }</script>