zoukankan      html  css  js  c++  java
  • Date() 及其 如何验证用户输入的日期是合法的

    1、var someDate = new Date(Date.parse("May 25, 2004"));   <=>  var someDate = new Date("May 25, 2004");

    //Date.parse()返回表示该日期的毫秒数(从UTC时间1970年1月1日午夜开始)

    //如果直接将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()

    //如果传入Date.parse()方法的字符串不能表示日期,那么它会返回NaN;

    2、var someDate = new Date(Date.UTC(2000, 0)); <=> var  someDate = new Date("2000, 0");

    //Date.UTC()返回表示该日期的毫秒数(从UTC时间1970年1月1日午夜开始)

    //Date.UTC() @param 默认值为0。 年份,基于0的月份,月份中的哪一天(默认为1),小时数(0-23),分钟、秒、毫秒

    //日期和时间基于本地市区而非GMT来创建

    3、不同浏览器对符合日期格式但不符合日期逻辑的日期会进行不同的处理;有些会将超出范围的值替换成当前的值。

    3、判断用户输入的日期是否合法(这里暂不考虑用户输入的日期为格式错误日期,只考虑日期不符合常理的情况,如 2013-02-31 )

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Date checker</title>
    </head>
    <body>
        <span>输入 年月日:</span> 
        <input id="yr" name="yr" type="text" />
        <input id="mth" name="yr" type="text" />
        <input id="day" name="yr" type="text" />
        <input id="checker" name="yr" type="button" value="检查日期"/>
    </body>
    <script type="text/javascript" >
        (function(){
            checker.onclick = function(){
                var year = parseInt(document.getElementById("yr").value, 10) ,
                month = parseInt( document.getElementById("mth").value, 10),
                day = parseInt(document.getElementById("day").value, 10),
                checker = document.getElementById("checker");
    
                var dateSTr = month+'/'+day+'/'+ year,
                date = new Date(dateSTr),
                rightDate = !isNaN(date);  //判断是否符合日期格式,如 "1988/02/05" 则 isNaN
                
                if(rightDate){
              //如果创建的date(根据3)转换得到的日期,与当前输入的日期一致,则表示输入合法; 如”1988/02/31“则不合法
    if(month == date.getMonth()+1 && day == date.getDate() && year == date.getFullYear()){   //此处注意month+1 alert("日期合法"); } else { alert("日期不合法"); } } else { alert("日期格式错误!"); } } })(); </script> </html>
  • 相关阅读:
    Flex布局新写法兼容写法详解
    一个CSS值转REM的Sublime Text插件
    Oracle SQL函数之转换函数To_char汇总
    Oracle SQL函数之日期函数
    Oracle SQL函数之数学函数
    Oracle SQL函数之字符串函数
    Sybase isql常用命令
    sybase用户管理(创建、授权、删除)
    使用isql连接Sybase ASE数据库的常见错误及处理方式
    Sybase配置中文语言支持及字符集
  • 原文地址:https://www.cnblogs.com/zldream1106/p/3173990.html
Copyright © 2011-2022 走看看