js验证身份证号
/*
* 身份证检测(格式、地区、生日、年龄范围)
* 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验证身份证号的更多相关文章
- js验证身份证号,超准确
js验证身份证号,超准确 看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p 其中 dddddd:地区码 ...
- 锋利的js之验证身份证号
我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构 公民 ...
- 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 ...
- js正则表达式验证身份证号和密码
//验证身份证号只能输入15位或者18位的身份证号 /^\d{14}[X|\d]{1}$|^\d{18}$/ig //验证只能输入字母和数字组合6到16位 /^[a-z][a-z0-9]{6,16}$ ...
- Js完美验证15/18身份证,Js验证身份证,支持15/18位
Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...
- JavaScript验证身份证号
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncodin ...
- bootstrap-validator基本使用(自定义验证身份证号和手机号)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- javascript实现验证身份证号的有效性并提示
javascript实现验证身份证号的有效性并提示 function nunber(allowancePersonValue){ if(allowancePersonValue=="身份证号 ...
- js检查身份证号是否正确
转的,比较完善的验证身份证号的代码 /* check(ID)验证身份证号码 返回值:0 : "是正确的身份证号" 1 : "身份证校验不符合求和模11=1这个等式&quo ...
随机推荐
- ARP协议的报文格式
原文链接地址:http://www.cnblogs.com/laojie4321/archive/2012/04/12/2444187.html 结构ether_header定义了以太网帧首部:结 ...
- redis 优化
系统优化echo "vm.overcommit_memory=1" > /etc/sysctl.conf 0, 表示内核将检查是否有足够的可用内存供应用进程使用:如果有足够的 ...
- hdu 敌兵布阵(线段树之单点更新)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 动手学习TCP:服务端状态变迁
上一篇文章介绍了TCP状态机,并且通过实验了解了TCP客户端正常的状态变迁过程. 那么,本篇文章就一起看看TCP服务端的正常状态变迁过程 服务端状态变迁 根据上一篇文章中的TCP状态变迁图,可以得到服 ...
- Hadoop 2.0 中的资源管理框架 - YARN(Yet Another Resource Negotiator)
1. Hadoop 2.0 中的资源管理 http://dongxicheng.org/mapreduce-nextgen/hadoop-1-and-2-resource-manage/ Hadoop ...
- Hadoop学习之SecondaryNameNode
在启动Hadoop时,NameNode节点上会默认启动一个SecondaryNameNode进程,使用JSP命令可以查看到.SecondaryNameNode光从字面上理解,很容易让人认为是NameN ...
- WEB安全--业务安全漏洞
0x00 索引说明 在OWASP的分享,关于业务安全的漏洞检测模型. 0x01 身份认证安全 1 暴力破解 在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通 ...
- 边工作边刷题:70天一遍leetcode: day 85-3
Zigzag Iterator 要点: 实际不是zigzag而是纵向访问 这题可以扩展到k个list,也可以扩展到只给iterator而不给list.结构上没什么区别,iterator的hasNext ...
- springMVC+ajax分页查询
项目用到ajax技术的查询,查询结果很多时候要分页展示.这两天摸索了一下,在这里做一总结,方便自己随时查看, 也方便后人参考. 这里的顺序遵从从前台页面到后台控制器,业务层,Dao层,Mapper 下 ...
- AC日记——导弹拦截 洛谷 P1020 (dp+模拟)
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...