身份证正则判断

身份证正则判断

今天分享的是身份证的正则判断,在很多时候需要到,所以在这里记录下来。之前做正则判断的时候,有一些小瑕疵,判断不够全面,正则判断,结构紧凑,全面的判断很重要,所以也是询问老师得到的一张方法。
首先,把页面构造好:

     <div class="form-group"  id="ggg"><span class="col-md-2 col-sm-2 control-label reset" style="padding-left:90px;padding-top:68px;">真实姓名:</span><div class="col-md-2 col-sm-2 reset"><input type="text" class="form-control" style="padding-left:90px;margin-top:60px; padding:0;" id="TrueName" name="TrueName"/></div><span class="col-md-2 col-sm-2 control-label reset" style="padding-left:90px;padding-top:68px;">身份证:</span><div class="col-md-3 col-sm-3 reset"><input type="text" class="form-control" style="padding-left:90px;margin-top:60px; padding:0;" id="IdentityCard" name="IdentityCard" /></div><button class="btn btn-primary" style="padding-left:16px;margin-top:60px;" type="button" id="Honest">立即提交</button>
</div>

接下来是对获取的身份证进行多重判断:

 <script>//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: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 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 % 11 != 1) return "你输入的身份证号非法";aCity[parseInt]return true;}$("#IdentityCard").change(function () {//获取身份证var sId = $("#IdentityCard").val();if (isCardID(sId) != true) {layer.alert(isCardID(sId));}});</script>

如果随便输入身份证号,身份证号错误,会提示你的身份证号非法:
在这里插入图片描述
如果你的身份证出生日期不存在,会提示出生日期非法:
在这里插入图片描述
如果你的身份证长度不对,(这里判断的是18位)会提示你的身份证号长度不对:
在这里插入图片描述
身份证的正则判断,就写到这里,还有其他的方法也可以进行判断。具体看个人的需求,应该多借鉴多参考。

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

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

相关文章

在notepad++中配置java编译环境

在notepad中配置java编译环境 &#xff08;1&#xff09;首先&#xff0c;下载安装了Notepad&#xff0c;在菜单栏那里找到Plugin Manager&#xff0c;有一些版本是没有中文的&#xff0c;所有只有Plugin Manager&#xff0c;如果连Plugin Manager都没有&#xff0c;你则需要去…

Java 基础数据类型

Java 基础数据类型 Java的两大数据类型&#xff1a;基本数据类型、引用类型。 Java语言提供了八种基本数据类型。六种数字类型&#xff08;四个整数型&#xff0c;两个浮点型&#xff09;&#xff0c;一种字符类型&#xff0c;还有一种布尔型。 整形&#xff1a;byte&#xf…

Java获取系统时间

Java获取系统时间 Java获取系统时间 在java 中&#xff0c;有很多种方法都可以获取到系统的当前时间&#xff0c;但也需要到对应的类&#xff0c;不同的类自然有不同的方法。这里为大家介绍获取系统当前时间的四种方式。 1&#xff0e; 通过Calendar类来获取当前时间 需要引用…

Java 中抽象类与接口

Java 抽象类&#xff1a; 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这个类就是抽象类。 抽象类不能创建…

Java 中的进程与线程的实现

了解进程与线程&#xff1a; 进程&#xff1a; 当一个程序进入内存运行时&#xff0c;即变成一个进程。进程是处于运行过程 中的程序&#xff0c;并且具有一定的独立功能&#xff0c;进程是系统进行资源分配和调度的一个独立单 位一般而言&#xff0c;进程包含如下三个特征&…

Java集合工具类:Collections

Java提供了一个操作Set、List和Map等集合的工具类&#xff1a;Collections&#xff0c;该工具类里 提供了大量方法对集合元素进行排序、查询和修改等操作&#xff0c;还提供了对集合对象实现同步控制等方法。 一、 排序操作 如下示例&#xff1a; public class CollectionsSor…

Java异常处理throws/throw

Java的异常被分为两大类&#xff1a;Checked异常和Runtime异常&#xff08;运行时异常&#xff09;。 • Runtime异常&#xff1a;所有的RuntimeException类及其子类的实例&#xff1b; • Checked异常&#xff1a;不是RuntimeException类及其子类的异常实例。 只有Java语言提供…

JDBC 连接MYSQL数据库

1. 加载驱动 Class.forName("com.mysql.jdbc.Driver");com.mysql.jdbc 包名 Driver 驱动名&#xff0c;驱动包需要引入进来 mysql com.mysql.jdbc.Driveroracle oracle.jdbc.driver.OracleDriversqlserver com.microsoft.sqlserver.jdbc.SQLServerDriver …

JSP 之输出九九乘法表

JSP是一种建立在Servlet规范提供的功能之上的动态网页技术&#xff0c;允许在网页文件中嵌入java代码和jsp标记。Java 服务器页面 (Java Server Page &#xff0c;JSP) 扩展名为 .jsp。 1&#xff0e;jsp的执行过程 Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Se…

Java 重写与重载

方法的重写&#xff1a; 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。 重写的好处在于子类可以根据需要&#xff0c;定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申…

JSP根据状态动态改变数据表格按钮

有时候在开发的过程中会遇到需要根据状态ID 来动态改变数据表格的按钮&#xff0c;下面我主要讲述两种表格根据ID改变按钮的方式。 下面这种我是用EL 表达式获取表格中的值&#xff1a; <table class"table table-striped table-bordered table-hover" id"s…

根据银行卡号判断银行卡是否正确与归属银行

校验过程&#xff1a; 1.从卡号的最后一位数字开始&#xff0c;逆向将奇数位&#xff08;1&#xff0c;3&#xff0c;5 等等相加&#xff09; 2.从卡号最后一位数字开始&#xff0c;逆向将偶数位数字&#xff0c;先乘以2&#xff0c;如果乘积为两位数&#xff0c;将个位数字相加…

根据年月日判断第多少天,星期几

1. 根据年月日判断第多少天 Scanner是SDK1.5新增的一个类,可使用该类创建一个对象。 Scanner scannernew Scanner(System.in);  然后scanner对象调用下列方法&#xff08;函数&#xff09;,读取用户在命令行输入的各种数据类型   next.Byte(),nextDouble(),nextFloat,nextIn…

解决MySQLyog 导入数据库文件没有反应

之前我在MySQL 中新建了一个数据库&#xff0c;名为“onlineclassroom” 的数据库&#xff0c;但是在将外部的.sql 文件导入进来之后发现&#xff0c;数据库没有反应&#xff0c;也看不到表数据&#xff0c;以为是没有刷新问题&#xff0c;但是刷新之后发现还是没有这个就很奇怪…

解决myeclipse报错500,MySQLyog报错误码问题

在myeclipse 写了一个登录&#xff0c;但在我登录的时候却报了500的空指针&#xff0c;我检查了自己的登录代码&#xff0c;发现没有问题&#xff0c;这不应该啊&#xff0c;然后在网上也寻找了一些解决方案&#xff0c;发现好像并不适用&#xff0c;500空指针如下&#xff1a;…

jquery点击弹出播放视频并显示遮罩层

最近在做视频播放的时候&#xff0c;发现用jquery的播放视频可以很好的实现我所需要的效果。在之前请把插件引用进来&#xff0c;废话不多说&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><meta …

JS实现图片循环滚动

之前在前端的时候有遇到这样一个问题&#xff0c;实现 JS 图片的循环滚动&#xff0c;然后鼠标移入的时候停止滚动&#xff0c;鼠标移开继续滚动&#xff0c;这里无非就是设置了一个定时器&#xff0c;鼠标移上时清除定时器达到滚动停止的目的&#xff0c;鼠标移开时重设定时器…

有趣的滚动条

今天在搭前端页面的时候&#xff0c;UI给过来的一个自定义的滚动条&#xff0c;要求必须与设计的一样&#xff0c;觉得有点有趣&#xff0c;现在记录一下。 效果图&#xff1a; 具体代码是这样的&#xff1a; /*字体太长&#xff0c;这里我就减少一些*/ <div class"l…

解决 idea 复制jsp 文件过来页面报404

今天在做功能的时候把另外一个jsp文件复制过来&#xff0c;发现页面一直报404&#xff0c;咋搞的&#xff0c;检查路径没有问题&#xff0c;报404这个就奇葩了&#xff0c;后面经过一番“洗脑”&#xff0c;才发现jsp文件复制过来少了一个特别重要的步骤&#xff0c;那就是重新…

vue解决v-for报错 [vue/valid-v-for]Custom elements in iteration require ‘v-bind:key‘ directives

v-for报错 [vue/valid-v-for]Custom elements in iteration require ‘v-bind:key’ directives.eslint-plugin-vue 原因&#xff1a;这是因为我安装的enlint插件&#xff0c;它会对代码的规范进行检查。我这里用到v-for&#xff0c;但它是需要key值的&#xff0c;当不根据它的…