CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

给定生日,怎么计算年龄

楼主cyberworm(虫子)2003-12-03 13:50:06 在 Web 开发 / JavaScript 提问

给定一个如1980-03-22的字符串,怎么计算出它代表的年龄? 问题点数:100、回复次数:5Top

1 楼hrong(黄蓉)回复于 2003-12-03 13:59:02 得分 40

<script   language=javascript>  
  function   ages(str)  
  {  
        var   r   =   str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);    
        if(r==null)return   false;    
        var   d=   new   Date(r[1],   r[3]-1,   r[4]);    
        if   (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])  
        {  
              var   Y   =   new   Date().getFullYear();  
              return("年龄   =   "+   (Y-r[1])   +"   周岁");  
        }  
        return("输入的日期格式错误!");  
  }  
  alert(ages("1980-03-22"));  
  alert(ages("2002-01-31"));  
  alert(ages("2002-01-41"));  
  </script>Top

2 楼ricky460(阿酷)回复于 2003-12-03 14:33:23 得分 10

<script>  
  function   CurAge(str)  
  {  
          var   pos   =   str.indexOf("-");  
          var   bir   =   str.substring(0,pos);  
          var   time   =   new   Date();  
          var   year   =   time.getYear();  
          var   age     =   parseInt(year)   -   parseInt(bir);  
          alert(age);  
  }  
  </script>Top

3 楼bzscs(沙虫 我爱小美)回复于 2003-12-03 14:46:08 得分 10

<script   language="vbScript">  
  birthday="1980-03-22"  
  msgbox(datediff("yyyy",cdate(birthday),now))  
  </script>Top

4 楼rongwenfeng(驿)回复于 2003-12-03 14:51:37 得分 40

<script   language=javascript>  
  function   checkDate(   date   )   {  
  if   (   date   ==   null   ||   date   ==   ""   )   {  
  return     true;  
  }  
   
  var   strDate   =   date;  
   
  if   (NumberFormat(   strDate   ))  
  {  
   
  if   (strDate.length   !=   10)   {  
  alert(   "错误的日期!"   );  
  return   false   ;  
  }  
   
  if   (   toDateFromString(   strDate   )   ==   null   )   {  
  alert("错误的日期!");  
  return   false;  
  }  
  }  
   
  return   true   ;  
  }  
   
  function   NumberFormat(pstrNum)  
  {  
  var   strReturn   =   "";  
   
  strNumber   =   ""+delMoji(pstrNum,"-");  
   
  for(var   i=0;   i<strNumber.length;   i++)  
  {  
  if   (strNumber.charAt(i)   >=   "0"   &&   strNumber.charAt(i)   <=   "9")  
  {  
   
  }  
  else   if   (strNumber.charAt(i)   ==   "+"   ||   strNumber.charAt(i)   ==   "-"   ||   strNumber.charAt(i)   ==   ".")  
  {  
  alert("错误的日期!");  
  return   false;  
  }  
  }  
   
  return   true;  
  }  
   
  function   delMoji(pstrMoji,   pstrChar)  
  {  
  var   strReturn   ="";  
  for(var   i=0;   i<pstrMoji.length;   i++)  
  {  
  if   (pstrMoji.charAt(i)   !=   pstrChar)  
  {  
  strReturn   =   strReturn   +   pstrMoji.charAt(i);  
  }  
  }  
  return   strReturn;  
  }  
   
  function toDateFromString(   strDate   )  
  {  
  var dtDate =   null   ;  
  var nYear =   parseInt(   strDate.substring(   0,   4   ),   10   )   ;  
  var nMonth =   parseInt(   strDate.substring(   5,   7   ),   10   )   ;  
  var nDay =   parseInt(   strDate.substring(   8,   10   ),   10   )   ;  
   
  if(   isNaN(   nYear   )   ==   true   ||   isNaN(   nMonth   )   ==   true   ||   isNaN(   nDay   )   ==   true   )  
  {  
  return null   ;  
  }  
  dtDate =   new   Date(   nYear,   nMonth   -   1,   nDay   )   ;  
  if(   nYear   !=   dtDate.getFullYear()   ||   (   nMonth   -   1   )   !=   dtDate.getMonth()   ||   nDay   !=   dtDate.getDate()   )  
  {  
  return null   ;  
  }  
   
  return dtDate   ;  
  }  
  function   ages(str)  
  {  
        if(checkDate(str))  
        {  
              var   Y   =   new   Date().getFullYear();  
              var   age;  
              age   =   parseInt(Y)   -   parseInt(str.substr(0,4))  
              return   age  
              alert();  
        }  
  }  
  </script>Top

5 楼cyberworm(虫子)回复于 2003-12-03 14:51:48 得分 0

很好用,谢谢Top

相关问题

  • 如何通过系统日期和生日,计算出年龄?
  • 根据出生日期计算年龄问题 急~~~~~~~~~~~~~~~~~~~
  • 按出生日期计算年龄段,进行统计?
  • 给定两个日期,计算天数
  • 在cs代码中 怎样根据出生日期计算出他的年龄? 出生日期是DateTime的.???????????????????????????????????????????????????????????????
  • 想问一下知道‘年龄’然后计算‘出生日期’的方法! 急呀!
  • 计算生日问题?
  • 年龄计算问题
  • 计算年龄问题!
  • 如何修改一个Table中某一列的值?如根据目前日期和生日(列)计算年龄(列)

关键词

  • 给定
  • 计算
  • 年龄

得分解答快速导航

  • 帖主:cyberworm
  • hrong
  • ricky460
  • bzscs
  • rongwenfeng

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo