• 全部
  • 问答

怎样用JavaScript判断一个字符串是否为日期型字符串

xbxue 2003-07-04 04:01:07
怎样用JavaScript判断一个字符串是否为日期型字符串
...全文
38 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gq 2003-07-04
function isdate(strDate){
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;

strDateArray = strDate.split(strSeparator);

if(strDateArray.length!=3) return "false";

intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);

if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return "false";

if(intMonth>12||intMonth<1) return "false";

if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return "false";

if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return "false";

if(intMonth==2){
if(intDay<1) return "false";

boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
}
else{
if((intYear%4)==0) boolLeapYear = true;
}

if(boolLeapYear){
if(intDay>29) return "false";
}
else{
if(intDay>28) return "false";
}
}

return "true";
}

//自动增加'-'用于日期input输入框
function add_sign(field) {
if (field.value.length==4){
field.value= field.value+"-"
}
if (field.value.length==7){
field.value = field.value+"-"
}
if (field.value.length==10 ){
if (isdate(field.value)=="false"){
field.value ="";
field.focus();
window.alert ("日期格式不对!(YYYY-MM-DD)");
}
if (isdate(field.value)!="false"){
getNextElement(field).focus();
}
}
}
//自动跳转到下一个输入框
function getNextElement (field) {
var form = field.form;
for (var e = 0; e < form.elements.length; e++)
if (field == form.elements[e])
break;
return form.elements[++e % form.elements.length];
}
回复
fason 2003-07-04
http://expert.csdn.net/Expert/topic/1490/1490929.xml?temp=.9921839

<script language="JavaScript">
<!--
function CheckDate(str){//1998-12-12
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
return true;
}
alert(CheckDate("1998-12-12"))
//-->
</script>
回复
fason 2003-07-04
http://expert.csdn.net/Expert/topic/1490/1490929.xml?temp=.9921839

<script language="JavaScript">
<!--
function CheckDate(str){//1998-12-12
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
return true;
}
alert(CheckDate("1998-12-12"))
//-->
</script>
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2003-07-04 04:01
社区公告
暂无公告