工具开源仓库https://gitee.com/lililic/information_simulation_open

工具在线地址http://www.onetribe.top/si

1、银行卡号校验:

/*** @desc Luhn算法(直接传入银行卡号即可校验银行卡号,但不校验银行卡号长度)* @param { string } no* @param { boolean } computeLast // 是否获取检验总和(通常用来生成校验位)* */function luhnCheck<T>(no: string, computeLast:boolean = false): T{let s: number = 0if(computeLast) no += '0'no.split('').reverse().forEach((n: string, index: number) => {if((index + 1)%2) { //  奇数s += Number(n)} else { // 偶数const nn = Number(n)*2s = s + (nn < 9 ? nn : (nn - 9))}})return (computeLast ? (10 - s%10)%10 : s%10 === 0 ) as T}

2、身份证号校验

export default class IdCardNohandle {/*** @description 根据身份证号前17位计算出最后一位* @param { string } n 身份证号前17位* @returns { string } 最后一位*/static computeLastNum(n: string): string {const computeNums = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]const remainderToLast = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']let total = 0n.split("").forEach((n, i) => {total += Number(n) * computeNums[i]})return remainderToLast[total%11]}/*** @description 检验身份证号格式是否正确* @param { string } n 身份证号* @returns { boolean }*/static validateIdNo(n: string): boolean {// 检验长度if(n.length !== 18) return false// 地区是否存在(需要有地区的库,可以查看开源项目)// if(!Area.validateAreaCodeExist(n.substr(0, 6))) return false// 校验最后一位return this.computeLastNum(n.substr(0, 17)) === n.substr(17, 1)}}

3、手机号校验

const PHONE_NO = /^(0|86|17951)?(13[0-9]|15[012356789]|16[67]|17[1235678]|18[0-9]|19[01356789]|14[0578])[0-9]{8}$/    /*** @description 校验手机号格式是否正确* @param { string } n 手机号* @returns { boolean }*/function validateNo(n: string): boolean {return PHONE_NO.test(n)}

校验身份证号、手机号、银行卡号(TypeScript)相关推荐

  1. 表单校验之---校验姓名/护照正则/台湾往来通行证/校验身份证号/港澳往来通行证正则/军官证正则/检验手机号/校验银行卡号

    常用表单校验 1.校验姓名       2.护照正则      3.台湾往来通行证          4.校验身份证号         5.港澳往来通行证正则 6.军官证正则     7.检验手机号  ...

  2. vue组件中校验身份证号,手机号和邮箱

    vue组件中校验身份证号,手机号和邮箱 直接上代码 一.在js文件中添加校验方式和方法 1. 身份证号码校验(说明,这个身份证校验的方式很精确,算法仔细推荐使用) export function id ...

  3. java数据脱敏处理,手机号,身份证号和银行卡号打码展示

    目录 方式1:substring分割 方式2:正则匹配验证 方式3:StringUtils.overlay 1 先引入commons-lang3,这个基本每个项目都用到 2 数据处理 3 测试结果 方 ...

  4. SQL 校验身份证号格式

    调用示例: SELECT  dbo.[fn_IDCardChk]('123')  /* --------------------------- 校验身份证号是否有效 成功返回1 失败返回0Jacker ...

  5. Java校验身份证号工具类

    直接上代码,该util可以校验身份证号,可以获取年龄.性别.出生日期. public class PersonIdCardUtil {/*** 省.直辖市代码表:* 11 : 北京 12 : 天津 1 ...

  6. wps或Excel将身份证号、银行卡号复制到Excel中的时候出现E+问题的解决方案

    我们在日常的坐标过程中难免会用到文字和图表的处理工具,也就是我们常说的office办公工具,现在比较常用的是两款,一款是WPS,一款式MSOffice,那遇到复制身份证号复制银行卡号出现错误该怎么解决 ...

  7. Java身份证号脱敏、校验身份证号合法性、根据身份证号获取年龄、根据生日获取年龄

    这里写目录 身份证号编码规则 身份证号脱敏 身份证号合法性校验 根据身份证号获取年龄 根据生日日期获取年龄 根据身份证号获取年龄.生日的Map集合 身份证号编码规则 第一.二位表示省(自治区.直辖市. ...

  8. 网易有道IP,身份证号, 手机号归属地API查询接口

    网易有道IP,身份证号, 手机号归属地API查询接口 http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ip地址 GET后返回X ...

  9. 正则表达式校验身份证号、邮箱和手机号

    常用正则表达式: 1.手机号码: ^(13[0-9]|14[5|6|7|8|9]|15[0|1|2|3|5|6|7|8|9]|16[5|6]|17[1-8|18[0-9]|19[1|9])\d{8}$ ...

最新文章

  1. 实例详解 EJB 中的六大事务传播属性--转
  2. Linux CentOS服务启动
  3. python画图网格线设置_Matplotlib可视化入门,看这一篇就够了
  4. 为什么要用!DOCTYPE声明
  5. 三阶魔方中心块调整配方和记忆方法
  6. 局域网和内网?系统远程桌面和内网远程软件?
  7. 英文科技论文写作与学术报告Lecture 2习题答案
  8. 以太坊存储项目Swarm (代币bzz)1.0 主网正式上线
  9. oracle kup04040,ORA-20011 ORA-29913 and ORA-29400错误的说明
  10. Leo:一个outlining editor
  11. 坚果云同步linux,备份Linux系统数据到坚果云
  12. NDK 开发实战 - 微信公众号二维码检测
  13. A1059. 求解二元整数不定方程
  14. 关于在vue中实现7天免登录
  15. 关于引用的介绍和使用
  16. 使用tensorboard时踩的坑
  17. ARMv7 与 ARMv8的区别
  18. 解释太阳能量来源《张朝阳的物理课》估算太阳寿命约百亿年
  19. 爬取酷狗音乐TOP榜所有的歌曲信息
  20. 如何使用Regsrv32命令注册和注销Windows DLL文件

热门文章

  1. “杭州招银融博”的项目经理应聘旅程(1) -- 项目团队
  2. offsetTop、offsetLeft、offsetWidth、offsetHeight
  3. 羊了个羊背后的逻辑思维
  4. charles抓包工具代理抓手机包
  5. Linux 文件系统基本介绍
  6. 做生意只做自己熟悉的领域,挣钱只挣自己认知以内的钱
  7. JAVA实现RC4加密
  8. 强大的移动端表单开发方案 @alitajs/dform(附视频)
  9. java基于微信小程序的家电维修预约系统 uniapp 小程序
  10. rust矿洞绳子怎么爬下_腐蚀RUST实用技巧分享 教你在游戏中横着走