起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7453|回复: 7

身份证号输入的正则匹配和自动计算出生日期,年龄的JS实现

  [复制链接]

2

主题

812

帖子

951

积分

高级会员

Rank: 4

积分
951
QQ
发表于 2013-9-16 13:50:42 | 显示全部楼层 |阅读模式
本帖最后由 fengwei 于 2013-9-25 08:41 编辑

      身份证号码栏要求通过输入身份证号码,自动计算出:出生日期,和年龄。输入身份证的长度必须是18位,前面17位必须是数字,第18位可以是数字或“X“。
代码实现如下 :
  1. mainActivity.dataMainValueChanged = function(event) {
  2.         if (event.column == 'fSFZH') {
  3.                 var s = event.value;
  4.                 if (s != "") {
  5.                         if (s.length == 18) {
  6.                                 var data = justep.xbl("dataMain");
  7.                                 var reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}[0-9xX]$/;
  8.                                 var result = reg.test(s);// 正则表达式匹配
  9.                                 if (!result) {
  10.                                         alert("身份证号格式错误,请重新输入");
  11.                                 } else {
  12.                                         var year = s.substring(6, 10);
  13.                                         var mouth = s.substring(10, 12);
  14.                                         var day = s.substring(12, 14);
  15.                                         var birth = year + "-" + mouth + "-" + day; // 获取出生日期
  16.                                         var date = new Date();
  17.                                         var age = date.getFullYear() - year;// 计算年龄
  18.                                         data.setValue("fNL", age); // 写入data
  19.                                         data.setValue("fCSRQ", birth);
  20.                                 }
  21.                         } else {
  22.                                 alert("身份证号长度须为18位");
  23.                         }

  24.                 }
  25.         }
  26. };
复制代码
技术支持qq 1282807026。(远程支持专用)

123

主题

503

帖子

831

积分

高级会员

Rank: 4

积分
831
QQ
发表于 2013-9-24 18:10:29 | 显示全部楼层
15位的身份证号你不考虑?
共同进步
愿起步一统开发平台

5

主题

18

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
发表于 2013-10-23 15:10:52 | 显示全部楼层
15位的现在已经不需要考虑了

29

主题

84

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
QQ
发表于 2013-12-23 09:27:08 | 显示全部楼层
大赞

29

主题

84

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
QQ
发表于 2014-3-17 09:33:28 | 显示全部楼层
不错

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
发表于 2014-3-19 16:35:32 | 显示全部楼层

27

主题

88

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
发表于 2014-5-10 11:30:09 | 显示全部楼层
记号

53

主题

313

帖子

1134

积分

金牌会员

Rank: 6Rank: 6

积分
1134
QQ
发表于 2015-6-30 16:17:39 | 显示全部楼层
好东西!
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-3-29 05:52 , Processed in 0.072679 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表