JS根据生日算年龄的方法


Posted in Javascript onMay 05, 2015

本文实例讲述了JS根据生日算年龄的方法。分享给大家供大家参考。具体实现方法如下:

function parseDate(str){
 if(str.match(/^\d{4}[\-\/\s+]\d{1,2}[\-\/\s+]\d{1,2}$/)){
  return new Date(str.replace(/[\-\/\s+]/i,'/'));
 }
 else if(str.match(/^\d{8}$/)){
  return new Date(str.substring(0,4)+'/'+str.substring(4,6)+'/'+str.substring(6));
 }
 else{
  return ('时间转换发生错误!');
 }
}
function GetAgeByBrithday(birthday){
 var age=-1;
 var today=new Date();
 var todayYear=today.getFullYear();
 var todayMonth=today.getMonth()+1;
 var todayDay=today.getDate();
 var birthday=parseDate(birthday);
 if(parseDate(birthday)!='时间转换发生错误!')
 {
 birthdayYear=birthday.getFullYear();
 birthdayMonth=birthday.getMonth();
 birthdayDay=birthday.getDate();
 if(todayYear-birthdayYear<0)
 {
  alert("出生日期选择错误!");
 }
 else
 {
  if(todayMonth*1-birthdayMonth*1<0)
  {
    age = (todayYear*1-birthdayYear*1)-1;
  }
  else
  {
    if(todayDay-birthdayDay>=0)
    {//alert(thisDay+'-'+brithd+"_ddd");
      age = (todayYear*1-birthdayYear*1);
    }
    else
    {
      age = (todayYear*1-birthdayYear*1)-1;
    }
  }
 }
 return age*1;
 }
 else
 {
 return -1;
 }
}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 直接操作本地文件的实现代码
Dec 01 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 Javascript
使用UglifyJS合并/压缩JavaScript的方法
Mar 07 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
JavaScript多线程详解
Aug 12 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
Aug 10 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
JavaScript内存泄漏的处理方式
Nov 20 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
微信小程序引入VANT组件的方法步骤
Sep 19 Javascript
js改变Iframe中Src的方法
May 05 #Javascript
js网页滚动条滚动事件实例分析
May 05 #Javascript
jquery判断单选按钮radio是否选中的方法
May 05 #Javascript
JQuery中Bind()事件用法分析
May 05 #Javascript
JS判断字符串包含的方法
May 05 #Javascript
JS实用的动画弹出层效果实例
May 05 #Javascript
js日期范围初始化得到前一个月日期的方法
May 05 #Javascript
You might like
php实现读取内存顺序号
2015/03/29 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
Vue异步加载about组件
2017/10/31 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
Python 字典dict使用介绍
2014/11/30 Python
Python生成不重复随机值的方法
2015/05/11 Python
python开发之for循环操作实例详解
2015/11/12 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python调试神器PySnooper的使用
2019/07/03 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
Python如何将装饰器定义为类
2020/07/30 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
十佳教师事迹材料
2014/01/11 职场文书
大学生村官事迹材料
2014/01/21 职场文书
结对共建协议书
2014/08/20 职场文书
公司授权委托书样本
2014/09/15 职场文书
社区党员干部承诺书
2015/05/04 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers