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 ...
随机推荐
- 读书笔记——Windows核心编程(13)Windows内存体系结构
对于32位进程(0x0000 0000~0xFFFF FFFF),有4GB的地址空间. 每个进程都有自己专有的地址空间,当进程的各个线程运行时,它们只能访问属于该进程的内存. 这4GB其实是虚拟地址空 ...
- 微信公众平台开发教程--方培工作室,PHP语言版本
准备工作 微信公众平台的注册 介绍如何注册一个微信公众账号. 入门教程 微信公众平台开发入门教程 内容:1.申请SAE作为服务器; 2.启用开发模式; 3.微信公众平台PHP SDK; 4.接收发送消 ...
- CListCtrl
CListCtrl CCmdTarget └CListCtrl CListCtrl类封装"列表视图控件"功能,显示每个包含图标(列表视图中)和标签的收集.除图标和标签外,每 ...
- XSLT
一.简介 XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言. XSL(eXtensible Stylesheet Language) -- 可扩展标记语言,主要用 ...
- 如何切入 Linux 内核源代码
Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉.毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了 ...
- nginx实现动态分离,解决css和js等图片加载问题
改帖专门为使用nginx,通过nginx把请求转发到web服务器再返回客户端的时候,解决css和js和图片加载不出来的问题. 如果没安装nginx,请访问一下地址进行安装 http://www.cnb ...
- Webpack+React+ES6入门指南[转]
React无疑是今年最火的前端框架,github上的star直逼30,000,基于React的React Native的star也直逼20,000.有了React,组件化似乎不再步履蹒跚,有了Reac ...
- AC日记——津津的储蓄计划 P1089 (水!)
题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里 ...
- uGUI练习(五) Draggable Object
练习目标 学习制作一个可拖动的UI 一.步骤 监听UI的Drag事件,需要我们写一点点的代码. 1.创建一个Panel ,设置size为(100,100) 2.创建DraggableObjectSce ...
- Jenkins遇到问题三:调整jdk版本不生效的解决办法
由于项目统一环境的需要,需要将jdk版本从1.7降到1.6,通过修改“系统管理”菜单下的“系统设置”下的jdk环境变量: 将红圈中的路径修改为jdk6,如图所示:保存退出:发现通过”读取设置“和重启j ...