moment.js isValid test
by kotlinsky
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/css/base/minified/jquery-ui.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.1.0/knockout-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.3.2/knockout.mapping.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/amplifyjs/1.1.0/amplify.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/1.7.2/moment.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.9.0/jquery.validate.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.3.1/jquery.maskedinput.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/qtip2/2.0.1/jquery.qtip.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/qtip2/2.0.1/jquery.qtip.css">
<input id="txtDate" name="date" value="-2/-1/-999" />
<button id="btnTest">Test</button>
<p>
The date is <span id="result"></span>.
</p>
JavaScript
$(document).ready(function () {
var testDate = function(strDate) {
var formats = ["M/D/YYYY","MM/DD/YYYY"],
valid = moment(strDate, formats).isValid();
$("#result").html(valid ? "valid" : "not valid");
};
$("#btnTest").on("click", function () {
testDate($("#txtDate").val());
}).trigger("click");
});