通过身份证号动态获取生日、性别、年龄

$('#idNumber').blur(function (){
		var UUserCard = $("#idNumber").val(); 
		if(UUserCard!=null&&UUserCard.trim()!=""){
			var birthday = UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14); 
			$("#birthday").val(birthday);
			$('.date-picker').datepicker('setStartDate',birthday);  
			if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) { 
				$("#gender1").val(1);//男
				$("#gender").val(1);
			} else {
				$("#gender1").val(2);//女
				$("#gender").val(2);
			}
			//获取年龄 
			var myDate = new Date(); 
			var month = myDate.getMonth() + 1; 
			var day = myDate.getDate();
			var age = myDate.getFullYear() - UUserCard.substring(6, 10); 
	// 		if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
	// 			age++; 
	// 		} 
			$("#age").val(age);
		}
});

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您的问题,我可以给您提供一个Java代码示例来获取身份证生日年龄性别信息。请参考以下代码: ``` import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class IdCardUtil { /** * 通过身份证号获取生日期、年龄性别 * @param idCard 身份证号码 * @return 生日年龄性别信息的数组,其中: * [0]表示生日,格式为"yyyy-MM-dd" * [1]表示年龄 * [2]表示性别,其中1表示男性,2表示女性 */ public static String[] getIdCardInfo(String idCard) { String[] info = new String[3]; if (idCard == null || idCard.length() != 18) { return null; } String birthday = idCard.substring(6, 14); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); try { Date birthDate = sdf1.parse(birthday); info[0] = sdf2.format(birthDate); Calendar cal = Calendar.getInstance(); if (cal.before(birthDate)) { return null; } int yearNow = cal.get(Calendar.YEAR); int monthNow = cal.get(Calendar.MONTH) + 1; int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); cal.setTime(birthDate); int yearBirth = cal.get(Calendar.YEAR); int monthBirth = cal.get(Calendar.MONTH) + 1; int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH); int age = yearNow - yearBirth; if (monthNow < monthBirth || (monthNow == monthBirth && dayOfMonthNow < dayOfMonthBirth)) { age--; } info[1] = String.valueOf(age); int gender = Integer.parseInt(idCard.substring(16, 17)); info[2] = gender % 2 == 0 ? "2" : "1"; } catch (Exception e) { e.printStackTrace(); } return info; } } ``` 使用该方法,您可以方便地获取身份证生日年龄性别等信息。当然,如果您有其他的问题,也可以随时向我提问哦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值