如何解析此HTML javascript页面中的日期?

时间:2013-09-17 06:37:58

标签: javascript jquery html

我想知道我是否可以获得一些帮助,试图让这个页面接受一个输入,然后吐出它是否是一个有效的输入。

到目前为止,我已经写过了。

<html>

<head>
   <title>JavaScript Date Strings</title>

   <link rel="stylesheet" href="jsdatestrings.css" />

   <script src="http://code.jquery.com/jquery.js"></script>

</head>

<body>

<h1 id="title">JavaScript Popup and Validation</h1>

<img class="popup-btn" src="death.jpg" />

<p>Das Datum (mm/dd/yyyy): <input id = "date" type="text" name="date"></p>

<script>
$(document).ready(function(){
  $("input").blur(function(){
    var x = $("#date").val();
    $("#test").html(x);
  });
});
</script>

<p id="test">HERRO!</p>

</body>

</html>

我不太确定如何使用它并使用它。我知道输入正在工作,但我需要得到像09281990这样的东西,它应该给我类似于09/28/1990的东西,如果我将它设置为yyyy-mm-dd那么它应该将其视为无效,除非我放入19900928。 / p>

欢迎任何帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用moment.js库:http://momentjs.com/ 它知道如何从许多不同的格式中解析日期。

它还有一个方法时刻(日期).isValid(),它显示你传递的对象是否已被成功解析为日期。

moment("12-25-1995", "MM-DD-YYYY") // will parse your date from MM-DD-YYYY format;
moment("not a real date").isValid(); // false

答案 1 :(得分:1)

     $(document).ready(function(){
      $("input").blur(function(){
        var x = $("#date").val();
var day = x.substring(0,2);
var month = x.substring(2,4);
var year = x.substring(4,8);
     re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;

        if(!(day+'/'+month+'/'+year).match(re)) {
          alert("Invalid date format: " + day+'/'+month+'/'+year);  
        }else{

        $("#test").html(day+'/'+month+'/'+year);
    }  });
    });



    Try this..