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?'男':'女';
就行了.

参考技术A 用字符串截取,身份证号7-14位表示出生日期,第17位表示姓别奇数是男偶数是女,然后再给文本档赋值就行了

以上是关于js身份证解析提取出生日期与性别,输出结果要在一个表单文本框里,怎么弄啊?谢啦!的主要内容,如果未能解决你的问题,请参考以下文章

如何用身份证在Excel中自动提取姓名性别出生日期年龄

js根据身份证号码解析获取出生年月日性别年龄

EXCEL表格中 怎么用函数从身份证号获取出生日期,年龄、性别

如何在JS中解析身份证号码得到出生日期

excel身份证号如何提取出生日期?

在EXCELL里输入身份证号后,怎样利用函数提取性别,生日呢?