我想知道我是否可以获得一些帮助,试图让这个页面接受一个输入,然后吐出它是否是一个有效的输入。
到目前为止,我已经写过了。
<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>
欢迎任何帮助。谢谢。
答案 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..