/*
* 身份证检测(格式、地区、生日、年龄范围)
* code:检测字符串 rangeAge:年龄范围[格式为:25-55]
* 返回值 0:为空 ,不为0则验证不通过
*/
var cityArr = { : "北京", : "天津", : "河北", : "山西", : "内蒙古", : "辽宁", : "吉林", : "黑龙江", : "上海", : "江苏", : "浙江", : "安徽", : "福建", : "江西", : "山东", : "河南", : "湖北", : "湖南", : "广东", : "广西", : "海南", : "重庆", : "四川", : "贵州", : "云南", : "西藏", : "陕西", : "甘肃", : "青海", : "宁夏", : "新疆" }//, 71: "台湾", 81: "香港", 82: "澳门", 91: "国外"
function CheckIdentityCode(code, rangeAge) {
code = $.trim(code);
if (code.length == || code == null || code == undefined) {
return "";
}
var info = ""
reg = /(^\d{}$)|(^\d{}([-]|X)$)/i;
if (!reg.test(code)) {
return "格式不正确!";
}
code = code.replace(/x$/i, "a");
if (cityArr[parseInt(code.substr(, ))] == null) {
return "包含非法地区!";
}
birthDay = code.substr(, ) + "-" + Number(code.substr(, )) + "-" + Number(code.substr(, ));
var d = new Date(birthDay.replace(/-/g, "/"));
if (birthDay != (d.getFullYear() + "-" + (d.getMonth() + ) + "-" + d.getDate())) {
return "包含非法出生日期!";
}
return GetAge(birthDay, rangeAge);
//alert(cityArr[parseInt(code.substr(0, 2))] + "," + birthDay + "," + (code.substr(16, 1) % 2 ? "男" : "女") + " 年龄:" + age);
}
/*
* 年龄检测是否合法
* birthDay:出生年月[格式:1999-03-15] rangeAge:年龄范围[格式:25-55]
* 返回值 为空合法 ,不为空则验证不通过
*/
function GetAge(birthDay, rangeAge) {
if (rangeAge == null || rangeAge.indexOf("-") == -)
return "";
var msg = "";
var nowDate = new Date();
var bir = new Date(birthDay.split('-')[0], birthDay.split('-')[1], birthDay.split('-')[2]);var age = parseInt(Math.abs(nowDate - bir) / / / / / );//年龄:天数/365
var min = ;
var max = ;
try {
min = parseInt(rangeAge.split('-')[]);
max = parseInt(rangeAge.split('-')[]);
} catch (e) { }
if ((min != || max != ) && (age < min || age > max))
msg = "年龄必须满" + min + "~" + max + "周岁!";
return msg;
}

js验证身份证号的更多相关文章

  1. js验证身份证号,超准确

    js验证身份证号,超准确 看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p    其中 dddddd:地区码  ...

  2. 锋利的js之验证身份证号

    我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构  公民 ...

  3. js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)

    js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...

  4. js正则表达式验证身份证号和密码

    //验证身份证号只能输入15位或者18位的身份证号 /^\d{14}[X|\d]{1}$|^\d{18}$/ig //验证只能输入字母和数字组合6到16位 /^[a-z][a-z0-9]{6,16}$ ...

  5. Js完美验证15/18身份证,Js验证身份证,支持15/18位

    Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...

  6. JavaScript验证身份证号

    <%@ page language="java" contentType="text/html; charset=GB18030" pageEncodin ...

  7. bootstrap-validator基本使用(自定义验证身份证号和手机号)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. javascript实现验证身份证号的有效性并提示

    javascript实现验证身份证号的有效性并提示 function nunber(allowancePersonValue){ if(allowancePersonValue=="身份证号 ...

  9. js检查身份证号是否正确

    转的,比较完善的验证身份证号的代码 /* check(ID)验证身份证号码 返回值:0 : "是正确的身份证号" 1 : "身份证校验不符合求和模11=1这个等式&quo ...

随机推荐

  1. 微信公众平台应用开发:方法、技巧与案例--柳峰,Java语言版本

    他本人的博客:http://blog.csdn.net/lyq8479 作者简介: 刘运强,网名“柳峰”,资深微信公众平台应用开发工程师,国内微信公众平台应用开发的先驱之一,项目经验丰富.他还是一位资 ...

  2. 虚拟机centos6.5 --设置主机名

    vi /etc/sysconfig/network #修改HOSTNAME后面的值,机器名 vi /etc/hosts #设置ip和机器名的对应关系 192.168.12.232 master 192 ...

  3. Debian

    一.简介 https://zh.wikipedia.org/wiki/Debian 二.下载 https://www.debian.org/ 三.配置 1)挂载iso镜像 mount /dev/cdr ...

  4. C++ 基本知识

    无论父类与子类的析构函数是否是virutal,子类的析构函数都会调用父类的析构函数 调用构造函数是与构造函数顺序相反,先子类后基类,否则如果基类先析构,子类的有些资源已经不存在了,会出错. 在C++中 ...

  5. Java : 使用jar包里的图片作为窗体的ICON

    文件结构: 源包- -/code/Jframe1.java -/image/1.png 目标: Jframe1.java 使用"/image/1.png"作为左上角的icon 核心 ...

  6. 怎么学习计算电磁学【QUORA】

    链接 There are several resources. But it depends on what you actually want to learn...Let me explain: ...

  7. MIT jos 6.828 Fall 2014 训练记录(lab 5)

    源代码参见我的github: https://github.com/YaoZengzeng/jos File system perliminaries 我们开发的是一个单用户的操作系统,只提供了足够的 ...

  8. Vim配置及说明——IDE编程环境

    Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...

  9. 转: 使用virtualenv搭建独立的Python环境

    转自:  http://qicheng0211.blog.51cto.com/3958621/1561685 谢谢作者的辛苦付出 virtualenv可以搭建虚拟且独立的python环境,可以使每个项 ...

  10. 关联:objc_getAssociatedObject和objc_setAssociatedObject使用

    为UIButton的category添加属性 UIButton+subTitle.h #import <UIKit/UIKit.h> #import <objc/runtime.h& ...