从身份证号码中获取用户的性别和生日

日期:2010年08月11日 分类:前端开发, 技术, 编程相关

最近有项目在用,于是整理了下,分Javascript版和Java两个版本,不过实现大同小异:

Java实现,分成两个方法,方便获取:

public static boolean getSexFromID(String val) {
		boolean sex = false;
		// 15位身份证号码
		if (15 == val.length()) {
			if (Integer.valueOf(val.charAt(14) / 2) * 2 != val.charAt(14))
				sex = true;
			else
				sex = false;
		}
		// 18位身份证号码
		if (18 == val.length()) {
			if (Integer.valueOf(val.charAt(16) / 2) * 2 != val.charAt(16))
				sex = true;
			else
				sex = false;
		}
		return sex;
	}

	public static Date getBirthdayFromID(String val) {
		String birthday = "";
		// 15位身份证号码
		if (15 == val.length()) {
			birthday = val.charAt(6) + "" + val.charAt(7);
			if (Integer.parseInt(birthday) < 10) {
				birthday = "20" + birthday;
			} else {
				birthday = "19" + birthday;
			}
			birthday = birthday + "-" + val.charAt(8) + "" + val.charAt(9)
					+ "-" + val.charAt(10) + "" + val.charAt(11);
		}
		// 18位身份证号码
		if (18 == val.length()) {
			birthday = val.charAt(6) + "" + val.charAt(7) + "" + val.charAt(8)
					+ "" + val.charAt(9) + "-" + val.charAt(10) + ""
					+ val.charAt(11) + "-" + val.charAt(12) + ""
					+ val.charAt(13);
		}
		return birthday;
	}

Javascript实现:

function showBirthday(val){
    var birthday;
    var sex;
    //15位身份证号码
    if (15 == val.length) {
        birthday = val.charAt(6) + val.charAt(7);
        if (parseInt(birthday) < 10) {
            birthday = '20' + birthday;
        }
        else {
            birthday = '19' + birthday;
        }
        birthday = birthday + '-' + val.charAt(8) + val.charAt(9) + '-' + val.charAt(10) + val.charAt(11);
        if (parseInt(val.charAt(14) / 2) * 2 != val.charAt(14))
            sex = '男';
        else
            sex = '女';
    }
    //18位身份证号码
    if (18 == val.length) {
        birthday = val.charAt(6) + val.charAt(7) + val.charAt(8) + val.charAt(9) + '-' + val.charAt(10) + val.charAt(11) + '-' + val.charAt(12) + val.charAt(13);
        if (parseInt(val.charAt(16) / 2) * 2 != val.charAt(16))
            sex = '男';
        else
            sex = '女';
    }
    return sex|birthday;
}

无觅相关文章插件,快速提升流量

这篇文章发布于 2010年08月11日 at 19:15 归类于 前端开发, 技术, 编程相关。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以 留下评论, 或者从您的站点 trackback