zoukankan      html  css  js  c++  java
  • js 日期格式、内容合法、比较大小、表单提交验证

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset="utf-8"/>
     5     <title>h5compareDate</title>
     6 </head>
     7 <body>
     8     <form name="form1" action="compareDate.html" method="post" onSubmit="return compareDoubleDate()">
     9         <input type="text" name="date1">
    10         <input type="text" name="date2"><br>
    11         <input type="submit" value="提交">
    12     </form>
    13 </body>
    14 <script type="text/javascript">
    15     function compareDoubleDate(){
    16         var d1 = document.forms["form1"]["date1"].value;
    17         var d2 = document.forms["form1"]["date2"].value;
    18         //alert(d1);
    19         //alert(d2);
    20         if (d1 == null || d1 == ""){
    21             alert("日期必填");    
    22             return false;
    23         }
    24         if (d2 == null || d2 == ""){
    25             alert("日期必填");    
    26             return false;
    27         }
    28         
    29         if (!verifyDate(d1)){
    30             alert("日期1格式不对");
    31             return false;
    32         }
    33         if (!verifyDate(d2)){
    34             alert("日期2格式不对");
    35             return false;
    36         }
    37         
    38         if (!checkDate(d1)){
    39             alert("日期1不合法");
    40             return false;
    41         }
    42         if (!checkDate(d2)){
    43             alert("日期2不合法");
    44             return false;
    45         }
    46         
    47         return compareDate(d1, d2);
    48         
    49     }
    50     <!-- 先验证格式是否正确-->
    51     function verifyDate(date){
    52         var regExp = /^d{4}-0?[1-9]|1[0-2]-0?[0-9]|[1-2]d|3[0-1]$/;//js正则表达式,千万不要加引号
    53         return regExp.test(date);
    54     }
    55 
    56     <!-- 日期是否合法,格式正确后,关键要看瑞年2不能超过29天,平年二月不能超过28天,小月不能超过30天,-->
    57     function checkDate(date){
    58         var arrDate1 = date.split("-");
    59         var year = Number(arrDate1[0]);
    60         var month = Number(arrDate1[1]);
    61         var day = Number(arrDate1[2]);
    62         //document.write(year);
    63         if (month == 4 || month == 6 || month == 9 || month == 11){
    64             if (day > 30){
    65                 alert("日期不合法,");
    66                 return false;
    67             }
    68         }
    69         if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ){
    70             if (month == 2 && day > 29){
    71                 alert("日期不合法,瑞年2月最大29天");
    72                 return false;
    73             }
    74              
    75         }else{
    76             if (month == 2 && day > 28){
    77                 alert("日期不合法,平年2月最大28天");
    78                 return false;
    79             }
    80         }
    81         return true;
    82     }
    83     
    84     function compareDate(d1, d2){
    85         var arrDate1 = d1.split("-");
    86         var date1 = new Date(arrDate1[0], arrDate1[1], arrDate1[2]);
    87         var arrDate2 = d2.split("-");
    88         var date2 = new Date(arrDate2[0], arrDate2[1], arrDate2[2]);
    89         if (date1 > date2){
    90             alert("前一个日期应不大于后一个日期");
    91             return false;
    92         }
    93         return true;
    94     }
    95 </script>
    View Code
  • 相关阅读:
    功能测试
    数据库
    loadrunner
    笔记
    基础知识
    类方法, 实例方法, 静态方法
    统计英文单词次数
    合并文件内容
    字典排序
    排序算法
  • 原文地址:https://www.cnblogs.com/hblthink/p/8538592.html
Copyright © 2011-2022 走看看