当前位置:首页 > 日记 > 正文

javascript验证香港身份证的格式或真实性

javascript验证香港身份证的格式或真实性

话不多说,请看代码

function IsHKID(str) { var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" // basic check length if (str.length < 8) return false; // handling bracket if (str.charAt(str.length-3) == '(' && str.charAt(str.length-1) == ')') str = str.substring(0, str.length - 3) + str.charAt(str.length -2); // convert to upper case str = str.toUpperCase(); // regular expression to check pattern and split var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/; var matchArray = str.match(hkidPat); // not match, return false if (matchArray == null) return false; // the character part, numeric part and check digit part var charPart = matchArray[1]; var numPart = matchArray[2]; var checkDigit = matchArray[3]; // calculate the checksum for character part var checkSum = 0; if (charPart.length == 2) { checkSum += 9 * (10 + strValidChars.indexOf(charPart.charAt(0))); checkSum += 8 * (10 + strValidChars.indexOf(charPart.charAt(1))); } else { checkSum += 9 * 36; checkSum += 8 * (10 + strValidChars.indexOf(charPart)); } // calculate the checksum for numeric part for (var i = 0, j = 7; i < numPart.length; i++, j--) checkSum += j * numPart.charAt(i); // verify the check digit var remaining = checkSum % 11; var verify = remaining == 0 ? 0 : 11 - remaining; return verify == checkDigit || (verify == 10 && checkDigit == 'A');}

在网上找了很久都没合意的验证方式,最后通过Google找到一个国外写的js验证,发现可以使用。

上面那段验证的很精密,包含身份证真实性的校验,如果只是想验证输入的香港身份证格式,请使用下面的这段js。

function IsHKID(str) { var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" // basic check length if (str.length < 8) return false; // handling bracket if (str.charAt(str.length-3) == '(' && str.charAt(str.length-1) == ')') str = str.substring(0, str.length - 3) + str.charAt(str.length -2); // convert to upper case str = str.toUpperCase(); // regular expression to check pattern and split var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/; var matchArray = str.match(hkidPat); // not match, return false if (matchArray == null) return false; return true; }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

ppt2010怎样绘制图形

ppt2010怎样绘制图形

绘制图形,方法,电脑软件,  在ppt里面有丰富的形状功能,我们可以插入各种形状绘制自己所要的效果,怎么在ppt2010中绘制图形呢?下面小编就为你提供ppt2010如何画图的方法,希望能帮到大家。ppt2010绘制图形的方法形状图点击&ldquo;插入&rdquo;…

vue mixins组件复用的几种方式(小结

vue mixins组件复用的几种方式(小结

组件,复用,几种,方式,电脑软件,最近在做项目的时候,研究了mixins,此功能有妙处。用的时候有这样一个场景,页面的风格不同,但是执行的方法,和需要的数据非常的相似。我们是否要写两种组件呢?还是保留一个并且然后另个一并兼容另一个呢?不管以上那种…

浅谈angular2的http请求返回结果的

浅谈angular2的http请求返回结果的

返回结果,请求,浅谈,注意事项,电脑软件,实例如下:this.monitorSer.getVehicleLonAndLat(vehicleIds) .subscribe( data => { //将data下的data字符串转化为vehdata数组 this.vehData=JSON.parse(data.data); //功能实现 this.loadO…

详解node中创建服务进程

详解node中创建服务进程

服务进程,详解,电脑软件,node,背景在node工程部署中,常常涉及到三方:本地客户端、跳板机和服务器(集群)。在通过git触发gitlab hook脚本后,需要在跳板机中执行相应的ssh命令执行shell文件启动node服务器,这需要使用一个常用的命令setsid,这样当ssh…

微信筹款怎么弄微信普通筹款的使用

微信筹款怎么弄微信普通筹款的使用

使用方法,怎么弄,电脑软件,strong,  普通筹款是微信新上线的一个功能,那么微信筹款怎么使用呢?下面是小编为大家整编的微信普通筹款的使用方法,大家快来看看吧。微信普通筹款的使用方法1)打开微信应用进入页面点击下方【我】,接着点击【钱包…

js实现点击切换checkbox背景的简单

js实现点击切换checkbox背景的简单

简单实例,背景,电脑软件,js,checkbox,在制作网页的过程中,经常需要实现点击切换背景图片的效果,本文关注的是表单中checkbox背景图片切换的实现。如图,在输入用户名和密码后,用户需要选择是否记住密码图片背景为白色表示未勾选状态 。HTML源码…

详谈js中标准for循环与foreach | f

详谈js中标准for循环与foreach | f

循环,区别,标准,电脑软件,js,js中遍历数组的有两种方式var array=['a']//标准的for循环for(var i=1;i<array.length;i++){ alert(array[i])}//foreach循环for(var i in array){ alert(array[i])}正常情况下上面两种遍历数组的方式结果…

对称加密与非对称加密优缺点详解

对称加密与非对称加密优缺点详解

对称加密,优缺点,与非,详解,电脑软件,对称加密:双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密。优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效…

Java中int与integer的区别(基本数据

Java中int与integer的区别(基本数据

引用数据类型,基本数据类型,区别,电脑软件,Java,一、先说说int与integer的区别  int 是基本数据类型,默认值为0,不需要进行实例化integer 是引用数据类型,是int的封装类型,默认值为null,创建该类型需要进行实例化。基本数据类型是可以用“==”…

全图型PPT的制作方法是什么样的

全图型PPT的制作方法是什么样的

制作方法,全图,电脑软件,PPT,  图片视觉要有冲击力 ,文字精炼要有内涵,这就是全图型PPT!以下是小编为您带来的关于全图型PPT的制作方法,希望对您有所帮助。全图型PPT的制作方法一、大图配字二、艺术字体三、借图发挥四、蒙版色变五、色块切…

JavaScript中document.referrer的

JavaScript中document.referrer的

详解,电脑软件,JavaScript,document,referrer,前言在JavaScript中,document对象有很多属性,其中有3个与对网页的请求有关的属性,它们分别是URL、domain和referrer。URL属性包含页面完整的URL,domain属性中只包含页面的域名,而referrer属性中则保…

个性情侣签名一男一女逗比最新版一

个性情侣签名一男一女逗比最新版一

一女,情侣,个性,最新版,个性签名,  个性签名丰富多彩,反映出网民的不同的思想、心情等,透过个性签名折射出当代网民的文化心理,下面是个性情侣签名一男一女逗比,希望你喜欢。个性情侣签名一男一女逗比【经典篇】既然选择了我,那就不要抛弃我…