
第一种方法:
用户注册页面上的某些要求更加严格,因此有必要验证ID卡js是否合法. 通过此功能,系统软件非常严格,因此过滤了许多用水户. 下面的实现方法将向您说明.
很多时候,我们使用一组正则表达式来确定用户输入的是否合法. 使用正则表达式前,您对的组成了解多少?让我们谈谈ID号中包含多少信息:

1. 数字结构
公民身份号码是功能的组合,由一个17位的正文代码和一个1位的校验码组成. 从左到右的排列顺序为: 六位地址码,八位出生日期码,三位顺序码和一位校验码.
2. 地址代码(前六位数字)

表示编码对象永久居所所在县(市,旗,区)的行政区划代码,并应按照gb / T2260的规定执行.
3. 出生日期代码(七到十四位数字)
表示编码对象的出生年月日,并按照gb / T7408的规定执行. 年,月和日代码之间没有分隔符.

4. 序列号(第15至17位数字)
表示在同一地址代码标识的区域内,给同一年,同一月,同一天出生的人分配了序列号,给男性分配了序列号的奇数,偶数编号分配给女性.
5. 验证码(第18位)
作为尾号的校验码由编号单元根据统一公式计算得出. 如果某人的尾号为0-9,则不会显示X,但如果尾号为10,则您必须改用X,因为如果您将10用作尾随号,则该人的ID将变为19位数字. X是罗马数字10,请使用X代替10以确保公民的符合国家标准.
了解ID号结构的组成部分的含义之后,我们开始输入主题:
1. 为整个国家定义对象
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: “新疆”正则表达式有x,71: “台湾”, 81: “香港”,82: “澳门”正则表达式有x,91: “海外”}
2. 正则表达式判断
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!=1) return "你输入的号非法";
//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2"男":"女");//此次还可以判断出输入的号的人性别
return true;
}
第二种方法:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-278090-1.html
你的意思是为了发展经济
农民靠点积蓄来养老