js身份证解析提取出生日期与性别,输出结果要在一个表单文本框里,怎么弄啊?谢啦!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js身份证解析提取出生日期与性别,输出结果要在一个表单文本框里,怎么弄啊?谢啦!相关的知识,希望对你有一定的参考价值。
用正则验证身份证合法性,并从子匹配中提取相应的字符串,格式化成生日和性别字段,代码如下:
输入身份证号:<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(!/^\\d6((?:19|20)((?:\\d2(?:0[13578]|1[02])(?:0[1-9]|[12]\\d|3[01]))|(?:\\d2(?:0[13456789]|1[012])(?:0[1-9]|[12]\\d|30))|(?:\\d202(?:0[1-9]|1\\d|2[0-8]))|(?:(?:0[48]|[2468][048]|[13579][26])0229)))\\d2(\\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(!/^\d6((?:19|20)(?:(?:\d2(?:0[13578]|1[02])(?:0[1-9]|[12]\d|3[01]))|(?:\d2(?:0[13456789]|1[012])(?:0[1-9]|[12]\d|30))|(?:\d202(?:0[1-9]|1\d|2[0-8]))|(?:(?:0[48]|[2468][048]|[13579][26])0229)))\d2(\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?'女':'男');
没有,没有,本人菜鸟一只为完成作业,筋疲力尽,都快哭了的心情!哪还有意见说你的不好……那个提问是作业的全部模样!正则不正则的我不懂!要求是不能用正则阿!!!
追答将
出生日期:年月日
性别:
插入到
的下面,并将
var t = ['验证通过!'];
t.push(n.substr(6, 4)+'年'+n.substr(10, 2)+'月'+n.substr(12, 2)+'日');
t.push(n.substr(14,3)%2?'男':'女');
show(ans, t.join(' | '));
改为
document.getElementById('bd1').value=n.substr(6, 4);
document.getElementById('bd2').value=n.substr(10, 2);
document.getElementById('bd3').value=n.substr(12, 2);
document.getElementById('sex').value=n.substr(14,3)%2?'男':'女';
就行了.
以上是关于js身份证解析提取出生日期与性别,输出结果要在一个表单文本框里,怎么弄啊?谢啦!的主要内容,如果未能解决你的问题,请参考以下文章