从已知身份证号码中提取生日和性别

1.原生Js提取代码

<!DOCTYPE html>
<html>
<head>
	<title>原生js提取</title>
	<script type="text/javascript">
		function YanZheng(card){
			var pat = /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/;
			var i = 1;
			if(!pat.test(card)){
				i = 0;
			}
			return i ;
		}
		function getBirthday(){
			var card = document.getElementById("card").value;
			var i =YanZheng(card);
			if(i == 0){
				alert("身份证号码不规范!")
			}else{
				var year = card.substr(6,4);
				var mouth = card.substr(10,2);
				var day = card.substr(12,2);
				var birthday = year+"-"+mouth+"-"+day;
				document.getElementById("birthday").value = birthday;
			}
		}
		function getSex(){
			var card = document.getElementById("card").value;
			var i =YanZheng(card);
			if(i == 0){
				alert("身份证号码不规范!")
			}else{
				var sex = card.substr(17,1);
				if(sex%2 == 0){
					document.getElementById("sex").value = "女";
				}else{
					document.getElementById("sex").value = "男";
				}
			}
		}
	</script>
</head>
<body>
	请输入身份证号码:<input type="text" name="card" id="card" ><br>
	出生日期:<input type="text" name="birthday" id="birthday" onclick="getBirthday()" readonly="readonly"><br>
	性别:<input type="text" name="sex" id="sex" onclick="getSex()" readonly="readonly">
</body>
</html>

2.jquery提取代码

需引入js插件
下载地址:链接:https://pan.baidu.com/s/18_OuxUwhZEno1V0ft9QHDA
提取码:4zp9

<!DOCTYPE html>
<html>
<head>
	<title>Jquery提取生日和性别</title>
	<script type="text/javascript" src="js/jquery.min.js"></script>
	<script type="text/javascript">
		$(function(){
			$("#birthday").click(function(){
				var pat = /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/;
				var card = $("#card").val();
				if(!pat.test(card)){
					alert("身份证号码不规范!")
				}else{
					var year = card.substr(6,4);
					var mouth = card.substr(10,2);
					var day = card.substr(12,2);
					var birthday = year+"-"+mouth+"-"+day;
					$("#birthday").val(birthday);
				}
			})

			$("#sex").click(function(){
				var pat = /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/;
				var card = $("#card").val();
				if(!pat.test(card)){
					alert("身份证号码不规范!")
				}else{
					var sex = card.substr(17,1);
				if(sex%2 == 0){
					$("#sex").val("女");
				}else{
					$("#sex").val("男");
				}
				}
			})
		})
	</script>
</head>
<body>
	请输入身份证号码:<input type="text" name="card" id="card" ><br>
	出生日期:<input type="text" name="birthday" id="birthday" readonly="readonly"><br>
	性别:<input type="text" name="sex" id="sex" readonly="readonly">
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DYS_房东的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值