使用javascript验证日期时间

时间:2011-11-10 08:59:33

标签: javascript html

我有一个预订页面,有人会输入它的日期,我需要验证它,但我不知道如何在javascript中执行此操作这里是html代码

   <input type="text" name="date" />

现在我已经看到了一些例子,但不够清楚,文本框中的条目应该类似于11/07/2011 3:45 AM。我将非常感谢有关如何使用javascript实现此目的的任何帮助或建议。

2 个答案:

答案 0 :(得分:2)

为什么你让他输入字符?

给他一些日期时间选择器。

http://plugins.jquery.com/project/DateTimepicker

答案 1 :(得分:2)

如果不使用jQuery

 var errormessage = "";
 function checkIsValidDateTime(){
      errormessage = "";
      var isvalid = false;
      var dt = document.getElementsByName("date")[0].value;
      var parts = dt.split(" ");
      if(parts.length == 3){
         var date = parts[0];
         var time = parts[1];
         var ampm = parts[2];
         if(ampm.length == 2 && (ampm.toLowerCase() == "am" || ampm.toLowerCase() == "pm")){
            var validformatdate=/^\d{2}\/\d{2}\/\d{4}$/;
            if (validformatdate.test(date)){
                var validformattime = /^\d{1,2}:\d{2}$/;
                if (validformattime.test(date)){
                     isvalid = true;
                }else{errormessage = "Time is not in the format HH:MM";}
            }else{errormessage = "Date is not in the format dd/mm/yyyy";}
         }else{errormessage = "DateTime does not have AM/PM at the end";}
      }else{errormessage = "DateTime is not in the format 11/07/2011 3:45 AM";}
      return isvalid;
 }

然后,当单击提交按钮时,设置onclick事件以调用该功能,如果它不为空,您甚至可以显示错误消息。如果函数返回true,则正常处理,然后停止提交。