javascript验证香港身份证的格式或真实性
发布时间 - 2026-01-10 22:54:18 点击率:次话不多说,请看代码
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;
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# javascript身份证验证
# 香港身份证验证
# Javascript使用正则验证身份证号(简单)
# js验证真实姓名与身份证号
# 手机号的简单实例
# js验证真实姓名与身份证号是否匹配
# JavaScript正则表达式验证身份证号码是否合法(两种方法)
# 如何用javascript正则表达式验证身份证号码是否合法
# javascript验证身份证号
# js实现二代身份证号码验证详解
# js 验证身份证信息有效性
# js实现身份证号码验证的简单实例
# js 第二代身份证号码的验证机制代码
# 都没
# 很久
# 这段
# 请使用
# 找了
# 可以使用
# 香港
# 那段
# 多说
# 在网上
# 国外
# false
# handling
# bracket
# length
# lt
# return
# charAt
# upper
# case
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
浅谈javascript alert和confirm的美化
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
南京网站制作费用,南京远驱官方网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何在宝塔面板创建新站点?
如何实现建站之星域名转发设置?
MySQL查询结果复制到新表的方法(更新、插入)
如何快速搭建高效WAP手机网站?
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Python进程池调度策略_任务分发说明【指导】
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
大同网页,大同瑞慈医院官网?
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
如何在阿里云完成域名注册与建站?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何在阿里云购买域名并搭建网站?
如何在阿里云服务器自主搭建网站?
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何在万网主机上快速搭建网站?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
JS弹性运动实现方法分析
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
简历没回改:利用AI润色让你的文字更专业
iOS UIView常见属性方法小结
实例解析Array和String方法
清除minerd进程的简单方法
教你用AI润色文章,让你的文字表达更专业
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
详解Huffman编码算法之Java实现
HTML 中动态设置元素 name 属性的正确语法详解
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
详解MySQL数据库的安装与密码配置

