1.首先定义全国省份对象
10余年的阳原网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整阳原建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“阳原网站设计”,“阳原网站推广”以来,每个客户项目都认真落实执行。
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",
21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",
34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",
43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川"
,52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",
64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
2.js去判断身份证是否正确
function isCardID(sId){
var iSum=0 ;
var info="" ;
if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/")) ;
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法";
for(var i = 17;i=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
if(iSum%11!=1) return "你输入的身份证号非法";
return true;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
console.log(isCardID('430421198812039534')); //true
获得输入文本框的值,然后截字符串呗……前六位都没用,从第七位开始是年份
如果身份证input的id为“input”则
var
idcard
=
$("#input").val();//获得身份证号
var
year
=
idcard.
substr(6,4);
var
month
=
idcard.
substr(10,2);
var
day
=
idcard.
substr(12,2);
然后给文本或者dom元素赋值就行了
// 验证身份证
function isCardNo(card) {
var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return pattern.test(card);
}
如果你引用的是jquery.validate.插件的话,那么提交按钮提交前就会自动判断。如果你不想单独验证不提交的话,则需要如下$(function(){$("#Register").validate({debug:true,//只验证不提交表单submitHandler:function(form){Register();//单独处理验证通过后,单独的脚本事件,可以由用ajax异步提交//建议采用这种方式,体验效果好。}});});
因为身份证的长度为18,所以需要18-5=13个*,可以用jq的substr()方法截取身份证的前五位,再加上13个星号即可。如:
$(document).ready(function(){
var a = "112345678909876543";
var b = a.substr(0,5) + "*************";
alert(b);
});