身份证的验证

var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加权因子
var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]; // 身份证验证位值.10代表X
function checkIdcard(idCard) {
idCard = trim(idCard);//去掉字符串头尾空格
if (idCard.length == 15) {
return isValidityBrithBy15IdCard(idCard); //进行15位身份证的验证
} else if (idCard.length == 18) {
var a_idCard = idCard.split(""); // 得到身份证数组
if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){ //进行18位身份证的基本验证和第18位的验证
return true;
}else {
return false;
}
} else {
return false;
}
}
/**
* 判断身份证号码为18位时最后的验证位是否正确
* @param a_idCard 身份证号码数组
* @return
*/
function isTrueValidateCodeBy18IdCard(a_idCard) {
var sum = 0; // 声明加权求和变量
if (a_idCard[17].toLowerCase() == 'x') {
a_idCard[17] = 10; // 将最后位为x的验证码替换为10方便后续操作
}
for ( var i = 0; i < 17; i++) {
sum += Wi[i] * a_idCard[i]; // 加权求和
}
valCodePosition = sum % 11; // 得到验证码所位置
if (a_idCard[17] == ValideCode[valCodePosition]) {
return true;
} else {
return false;
}
}
/**
* 验证18位数身份证号码中的生日是否是有效生日
* @param idCard 18位书身份证字符串
* @return
*/
function isValidityBrithBy18IdCard(idCard18){
var year = idCard18.substring(6,10);
var month = idCard18.substring(10,12);
var day = idCard18.substring(12,14);
var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
// 这里用getFullYear()获取年份,避免千年虫问题
if(temp_date.getFullYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
return false;
}else{
return true;
}
}
/**
* 验证15位数身份证号码中的生日是否是有效生日
* @param idCard15 15位书身份证字符串
* @return
*/
function isValidityBrithBy15IdCard(idCard15){
var year = idCard15.substring(6,8);
var month = idCard15.substring(8,10);
var day = idCard15.substring(10,12);
var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));
// 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
if(temp_date.getYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
return false;
}else{
return true;
}
}
//去掉字符串头尾空格
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}

转载于:https://www.cnblogs.com/ljc7878/p/7477552.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能实战小程序之语音_前端开发

1. 人工智能实战小程序之准备工作 2. 人工智能实战小程序之语音_前端开发 今天这部分主要讲小程序前端功能的开发由于我偏后端&#xff0c;css是我的弱项&#xff0c;可能很多人和我一样开发小程序不知道如何下手&#xff0c;希望本篇文章对你有帮助我的学习路线是&#xff1a;…

当TFS/VSTS遇上Power BI

引言众所周知&#xff0c;要对TFS进行深入的图表分析&#xff0c;往往需要依赖于SQL Server Analysis Service和SQL Server Reporting Service。虽然随着TFS对敏捷项目的支持&#xff0c;内置了诸如累积流图、燃尽图等快捷图表&#xff1b;并且在最新的版本中还可以在仪表盘和查…

HashMap深度解析:一文让你彻底了解HashMap

写在前面HashMap是Map族中最为常用的一种&#xff0c;也是 Java Collection Framework 的重要成员。本文首先给出了 HashMap 的实质并概述了其与 Map、HashSet 的关系&#xff0c;紧接着给出了 HashMap 在 JDK 中的定义&#xff0c;并结合源码分析了其四种构造方式。最后&#…

Bzoj3628: [JLOI2014]天天酷跑

3628: [JLOI2014]天天酷跑 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 121 Solved: 44[Submit][Status][Discuss]Description 在游戏天天酷跑中&#xff0c;最爽的应该是超级奖励模式了吧&#xff0c;没有一切障碍&#xff0c;可以尽情的吃金币&#xff0c;现在请你控制…

python_线程、进程和协程

线程 Threading用于提供线程相关的操作&#xff0c;线程是应用程序中工作的最小单元。 1 #!/usr/bin/env python2 #codingutf-83 __author__ yinjia4 5 6 import threading,time7 8 def show(arg):9 time.sleep(2) 10 print(线程: str(arg)) 11 12 for i in range(…

AppDelegate瘦身之服务化

有没有觉得你的AppDelegate杂乱无章&#xff1f;代码几百行上千行&#xff1f;集成了无数的功能&#xff0c;如推送、埋点、日志统计、Crash统计等等&#xff0c;感觉AppDelegate无所不能。 来一段一般的AppDelegate代码&#xff0c;来自网上一篇文章&#xff1a; UIApplicatio…

第四章:手机平板要兼顾-探究碎片

碎片是什么&#xff1f; 碎片&#xff08;Fragment&#xff09;是一种可以嵌入在活动&#xff08;Activity&#xff09;中的 UI 片段&#xff0c;它能让程序更加合理和充分的利用大屏幕的空间&#xff0c;因而在平板上应用的非常广泛。 碎片的使用方式 静态嵌入动态加载碎片和活…

Android Studio 3.4增可视化资源管理工具 可管理和预览项目资源

经过6个月的开发时间&#xff0c;网络大厂17日发布了最新版的App开发IDE Android Studio 3.4&#xff0c;现在就能够下载使用&#xff0c;除了有超过300个错误修护和稳定度增强之外&#xff0c;在开发、建置和测试App阶段&#xff0c;都推出了一些小的新功能和工具&#xff0c;…

Python安装、使用MySQL数据库

本机安装的python版本为Python 2.7(win32 bit) 从http://www.codegood.com/archives/129下载MySQL-python-1.2.3.win32-py2.7.exe&#xff0c;点击安装 如果是win版还需要下载&#xff1a;libguide40.dll 和 libmmd.dll这两个文件&#xff0c;下载后放入到到C:\WINDOWS/syste…

pytorch 安装

安装pytorch时&#xff0c;官网不能选择版本。原以为是浏览器问题&#xff0c;换了几个浏览器都不行。 后来FQ之后&#xff0c;就能选择版本了。 sudo pip install torch torchvision转载于:https://www.cnblogs.com/rabitvision/p/8908757.html

《JavaScript 高级程序设计》精读笔记

本系列读书笔记是我通过学习《Javascript 高级程序设计》第3版时结合自己的理解、概括、精炼然后加以一定的拓展&#xff0c;总结而来的&#xff0c;非常适合具有一定基础&#xff0c;同时又想把 JS 基础学更好的童鞋&#xff0c;当然更希望得到大家的反馈于建议&#xff0c;比…

struts2实现文件查看、下载

CreateTime--2017年9月7日10:25:33 Author:Marydon struts2实现文件查看、下载 1.界面展示 <a style"color: #199ED8;" target"_blank" href"<c:url value"/telemedicine/reseCons/viewFile.do?fileName201516529IO.jpg"/>"…

css文本设置

常用的应用文本的css样式&#xff1a; color 设置文字的颜色&#xff0c;如&#xff1a; color:red; font-size 设置文字的大小&#xff0c;如&#xff1a;font-size:12px; font-family 设置文字的字体&#xff0c;如&#xff1a;font-family:微软雅黑; font-style 设置字体…

关键字static

原文出处&#xff1a;http://cmsblogs.com/ 『chenssy』 一、 static代表着什么 在Java中并不存在全局变量的概念&#xff0c;但是我们可以通过static来实现一个“伪全局”的概念&#xff0c;在Java中static表示“全局”或者“静态”的意思&#xff0c;用来修饰成员变量和成员方…

[IoC容器Unity]第三回:依赖注入

上节介绍了&#xff0c;Unity的Lifetime Managers生命周期&#xff0c;Unity具体实现依赖注入包含构造函数注入、属性注入、方法注入&#xff0c;所谓注入相当赋值&#xff0c;下面一个一个来介绍。 2.构造函数注入 Unity利用Resolve方法解析一个对象&#xff0c;都是调用注册类…

Apache CarbonData 1.5.0编译及安装

2019独角兽企业重金招聘Python工程师标准>>> 一、编译环境描述 OpenStack创建五个虚拟机&#xff0c;其中1个主节点&#xff08;hostname为bigdatamaster&#xff09;&#xff0c;4个从节点&#xff08;hostname分别为&#xff0c;bigdataslave1、bigdataslave2、bi…

JS控制网页全屏

在谷歌&#xff0c;IE等浏览器中&#xff0c;点击F11按键会进入网页全屏模式&#xff0c;如同看电影的剧场模式&#xff0c;这个在代码中可以通过JS来实现&#xff0c;简单说下在实现这个需求后的个人总结&#xff1a; 底层网页是已经加载完毕的&#xff0c;这时我们需要的全屏…

HDU 3966-Aragorn's Story 树链剖分+树状数组

题目链接 题意&#xff1a;有一棵树&#xff0c;每个节点有权值 有三种操作&#xff1a; I c1 c2 k 从节点c1到节点c2的路径上每个节点权值增加kD c1 c2 k 从节点c1到节点c2的路径上每个节点权值减少kQ i 查询节点i的权值是多少思路&#xff1a; 树链剖分处理出来的链放在数组中…

Filter介绍

Filter 可认为是 Servlet的一种 “ 加强版 ”&#xff0c;它主要用于对用户请求进行预处理&#xff0c; 也可以对HttpServletResponse 进行后处理&#xff0c;是个典型的处理链。Filter 也可对用户请求生成响应&#xff0c;这一 点与Servlet 相同&#xff0c; 但实际上很少会使…

LeetCode算法题-Jewels and Stones(Java实现)

这是悦乐书的第313次更新&#xff0c;第334篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题&#xff08;顺位题号是771&#xff09;。字符串J代表珠宝&#xff0c;S代表你拥有的石头。S中的每个字符都是你拥有的一种石头。计算S中有多少石头也是珠宝。J中…