|
本帖最后由 fengwei 于 2013-9-25 08:41 编辑
身份证号码栏要求通过输入身份证号码,自动计算出:出生日期,和年龄。输入身份证的长度必须是18位,前面17位必须是数字,第18位可以是数字或“X“。
代码实现如下 :- mainActivity.dataMainValueChanged = function(event) {
- if (event.column == 'fSFZH') {
- var s = event.value;
- if (s != "") {
- if (s.length == 18) {
- var data = justep.xbl("dataMain");
- 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]$/;
- var result = reg.test(s);// 正则表达式匹配
- if (!result) {
- alert("身份证号格式错误,请重新输入");
- } else {
- var year = s.substring(6, 10);
- var mouth = s.substring(10, 12);
- var day = s.substring(12, 14);
- var birth = year + "-" + mouth + "-" + day; // 获取出生日期
- var date = new Date();
- var age = date.getFullYear() - year;// 计算年龄
- data.setValue("fNL", age); // 写入data
- data.setValue("fCSRQ", birth);
- }
- } else {
- alert("身份证号长度须为18位");
- }
- }
- }
- };
复制代码 |
|