如题:在JS中有效日期的正则判断的案例
-------------------
function isDate(val) {
//2012-08-31 or 2102-8-31
//var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
//2012-08-31、2102-8-31 、2102/08/31 or 2102/8/31
var reg = /^(\d{4})(-|\/)?(\d{1,2})\2(\d{1,2})$/;
var valueDate = val.match(reg);
if (valueDate == null) {
//alert("Sorry. You need input a right date!");
return false;
}
var newDate = new Date(valueDate[1], valueDate[3]-1, valueDate[4]);
//error data:0000-08-31
if (!(newDate.getFullYear() == valueDate[1] && (newDate.getMonth() + 1) == valueDate[3] && newDate.getDate() == valueDate[4])) {
//alert("Sorry. You need input a right date!");
return false;
}
return true;
}
----------------------
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<script src="util.js" type="text/javascript"></script>
<title>date test</title>
</head>
<body>
<label for="textinput1">Date input:</label>
<input type="text" name="date" id="datetext" onChange="isDate(document.getElementById('datetext').value)"/>
</body>
</html>
1万+

被折叠的 条评论
为什么被折叠?



