0

我想知道是否可以在尝试让此页面接受输入时获得一些帮助,然后吐出它是否是有效输入。

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

<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。

欢迎任何帮助。谢谢你。

4

2 回答 2

1

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

它还有一个方法 moment(date).isValid() 显示你传递的对象是否成功解析到日期。

moment("12-25-1995", "MM-DD-YYYY") // will parse your date from MM-DD-YYYY format;
moment("not a real date").isValid(); // false
于 2013-09-17T06:41:21.440 回答
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..  
于 2013-09-17T06:48:09.260 回答