只能识别dd/mm/yyyy和mm-dd-yyyy,不能识别yyyy-mm-dd或yyyy/dd/mm,但可以通过自编程序获得(如果返回null,则表示不是日期,否则根据你传入的格式返回一个日期数组) <script> function dateComponents(dateStr, format) { var results = new Array(); var datePat = /^(\d{2}|\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/; var matchArray = dateStr.match(datePat);
if (format.charAt(format.length-1)=="d"){ //what format does the server use for dates? results[1] = matchArray[3]; results[2] = matchArray[4]; } else { results[2] = matchArray[3]; results[1] = matchArray[4]; } results[0] = matchArray[1]; return results; } alert(dateComponents("2001-2-11","yyyy-mm-dd")) alert(dateComponents("2001-2-11","yyyy-dd-mm")) </script>
http://www.csdn.net/Develop/read_article.asp?id=11659
里面含有完整的函数代码。
同时支持自定义日期格式判断。
<script>
function dateComponents(dateStr, format) {
var results = new Array();
var datePat = /^(\d{2}|\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/;
var matchArray = dateStr.match(datePat);
if (matchArray == null) {
return null;
}
matchArray[1] = (matchArray[1].length == 2) ? '19' + matchArray[1] : matchArray[1];
if (format.charAt(format.length-1)=="d"){ //what format does the server use for dates?
results[1] = matchArray[3];
results[2] = matchArray[4];
} else {
results[2] = matchArray[3];
results[1] = matchArray[4];
}
results[0] = matchArray[1];
return results;
}
alert(dateComponents("2001-2-11","yyyy-mm-dd"))
alert(dateComponents("2001-2-11","yyyy-dd-mm"))
</script>