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 】
相关推荐:
如何将凡科建站内容保存为本地文件?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何构建满足综合性能需求的优质建站方案?
Python文件操作最佳实践_稳定性说明【指导】
javascript如何操作浏览器历史记录_怎样实现无刷新导航
如何安全更换建站之星模板并保留数据?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
如何快速使用云服务器搭建个人网站?
EditPlus中的正则表达式 实战(1)
如何快速查询网址的建站时间与历史轨迹?
android nfc常用标签读取总结
详解Android中Activity的四大启动模式实验简述
Bootstrap CSS布局之列表
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何利用DOS批处理实现定时关机操作详解
如何用5美元大硬盘VPS安全高效搭建个人网站?
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
如何快速搭建高效简练网站?
敲碗10年!Mac系列传将迎来「触控与联网」双革新
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
详解vue.js组件化开发实践
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
高端智能建站公司优选:品牌定制与SEO优化一站式服务
北京专业网站制作设计师招聘,北京白云观官方网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
如何在香港免费服务器上快速搭建网站?
详解Huffman编码算法之Java实现
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何快速搭建高效WAP手机网站?
JavaScript中的标签模板是什么_它如何扩展字符串功能
html5的keygen标签为什么废弃_替代方案说明【解答】
如何快速生成专业多端适配建站电话?
香港服务器部署网站为何提示未备案?
如何快速搭建虚拟主机网站?新手必看指南
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
七夕网站制作视频,七夕大促活动怎么报名?
网站制作价目表怎么做,珍爱网婚介费用多少?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Swift开发中switch语句值绑定模式
Laravel如何使用模型观察者?(Observer代码示例)
如何快速搭建高效服务器建站系统?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何解决hover在ie6中的兼容性问题
Python结构化数据采集_字段抽取解析【教程】

