js身份证解析提取出生日期与性别,输出结果要在一个表单文本框里,怎么弄啊?谢啦!
2个回答
展开全部
用正则验证身份证合法性,并从子匹配中提取相应的字符串,格式化成生日和性别字段,代码如下:
输入身份证号:<input type="text" id="id" name="id" value=""><br>
出生日期:<input type="text" id="bd" name="bd" value=""><br>
性别:<input type="text" id="sex" name="sex" value=""><br>
<input type="button" onclick="javascript:getData();" value="提取身份证信息">
<script type="text/javascript">
function getData(){
var ido=document.getElementById('id');
var bd=document.getElementById('bd');
var sex=document.getElementById('sex');
if(!/^\d{6}((?:19|20)((?:\d{2}(?:0[13578]|1[02])(?:0[1-9]|[12]\d|3[01]))|(?:\d{2}(?:0[13456789]|1[012])(?:0[1-9]|[12]\d|30))|(?:\d{2}02(?:0[1-9]|1\d|2[0-8]))|(?:(?:0[48]|[2468][048]|[13579][26])0229)))\d{2}(\d)[xX\d]$/.test(ido.value)){
alert('身份证号非法.');
return;
}
bd.value=(RegExp.$1).substr(0,4)+'-'+(RegExp.$1).substr(4,2)+'-'+(RegExp.$1).substr(6,2);
sex.value=(parseInt(RegExp.$2)%2==0?'女':'男');
}
</script>
如果还有问题欢迎追问,问题解决请及时选择满意回答,谢谢.
更多追问追答
追问
http://zhidao.baidu.com/question/417422540.html你把这个采纳结果修改下,让它最后生成结果是:出生日期:(一个文本框框)年(一个框)月(一个框)日
性别:(一个框)
谢啦!万谢!
追答
哪有让我去改别人代码的道理,你的意思是我的回答没有用是吧.
之前回答有误,更正一下,顺便符合你的要求.
输入身份证号:
出生日期:年月日
性别:
function getData(){
var g=function(s){return document.getElementById(s);};
if(!/^\d{6}((?:19|20)(?:(?:\d{2}(?:0[13578]|1[02])(?:0[1-9]|[12]\d|3[01]))|(?:\d{2}(?:0[13456789]|1[012])(?:0[1-9]|[12]\d|30))|(?:\d{2}02(?:0[1-9]|1\d|2[0-8]))|(?:(?:0[48]|[2468][048]|[13579][26])0229)))\d{2}(\d)[xX\d]$/.test(g('id').value)){
alert('身份证号非法.');
return;
}
g('bd1').value=(RegExp.$1).substr(0,4);
g('bd2').value=(RegExp.$1).substr(4,2);
g('bd3').value=(RegExp.$1).substr(6,4);
g('sex').value=(parseInt(RegExp.$2)%2==0?'女':'男');
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询