校验身份证号

 1 //校验码校验
 2 checkCode: function (val) {
 3 var p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
 4 var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
 5 var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
 6 var code = val.substring(17);
 7 if (p.test(val)) {
 8 var sum = 0;
 9 for (var i = 0; i < 17; i++) {
10 sum += val[i] * factor[i];
11 }
12 if (parity[sum % 11] == code.toUpperCase()) {
13 return true;
14 }
15 }
16 return false;
17 },

省份校验

 1 //省份校验
 2 checkProv: function (val) {
 3 var pattern = /^[1-9][0-9]/;
 4 var provs = { 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: "澳门" };
 5 if (pattern.test(val)) {
 6 if (provs[val]) {
 7 return true;
 8 }
 9 }
10 return false;
11 },

出生日期码校验

 1 //出生日期码校验
 2 checkDate: function (val) {
 3 var pattern = /^(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)$/;
 4 if (pattern.test(val)) {
 5 var year = val.substring(0, 4);
 6 var month = val.substring(4, 6);
 7 var date = val.substring(6, 8);
 8 var date2 = new Date(year + "-" + month + "-" + date);
 9 if (date2 && date2.getMonth() == (parseInt(month) - 1)) {
10 return true;
11 }
12 }
13 return false;
14 },
15 checkIdcard: function (val) {
16 if (this.checkCode(val)) {
17 var date = val.substring(6, 14);
18 if (this.checkDate(date)) {
19 if (this.checkProv(val.substring(0, 2))) {
20 return true;
21 }
22 }
23 }
24 this.isError("请输入正确身份证号");
25 return false;
26 } 

根据身份证获取出生年月日和性别

 1 // 通过身份证号获取出生日期和性别
 2 getBirthAndSex:function(idCard){
 3 var that=this;
 4 var info={};
 5 var birth = (idCard.length === 18) ? idCard.slice(6, 14) : idCard.slice(6, 12);
 6 var order = (idCard.length === 18) ? idCard.slice(-2, -1) : idCard.slice(-1);
 7 info.birthDay = (idCard.length === 18)?([birth.slice(0,4),birth.slice(4,6),birth.slice(-2)]).join('-'):(['19'+birth.slice(0,2),birth.slice(2,4),birth.slice(-2)]).join('-');
 8 info.sex=(order%2===0?2:0);
 9 return info;
10 }

转载于:https://www.cnblogs.com/benmumu/p/9428556.html

微信小程序注册身份证验证相关推荐

  1. 微信小程序注册入口及流程(完整版教程)

    微信小程序注册是免费的,在腾讯云微信公众平台即可注册,无论是个人.企业都可以免费注册微信小程序,先输入邮箱注册激活,然后填写主体类型对应的证件信息,最后管理员身份验证使用维信扫一扫即可,小程序5来详细 ...

  2. 微信小程序学习笔记02:微信小程序注册

    文章目录 零.学习目标 一.小程序注册方法 1.注册 2.登录 二.小程序开发工具 1.下载开发工具 2.安装开发工具 3.启动开发工具 三.创建第一个小程序 1.启动开发者工具 2.新建项目 3.模 ...

  3. 微信小程序***实现身份验证

    标题微信小程序***实现身份验证 本次实现了身份验证功能,本功能需要提交身份证正面照片,反面照片,手持身份证等四张张照片,提交成功后等待工作平台审核,审核成功后即可完成身份验证. WXML: JS: ...

  4. 万能门店小程序_超市门店微信小程序注册流程

    现在超市门店商家利用小程序卖货已经非常普遍,小程序可以便捷地连接线上线下通道,让商家不再局限于门店周围的流量,能够从微信获取更多客户,从而提升销量和店铺知名度.超市要想有自己的线上电商小程序,就得先注 ...

  5. 取景框图片 小程序_微信小程序实现身份证取景框拍摄

    本文实例为大家分享了微信小程序实现身份证取景框拍摄的具体代码,供大家参考,具体内容如下 wxml wxss .camera_box { height: 100vh; width: 100vw; pos ...

  6. 仅需三步完成微信小程序注册

    因为自己做些项目,所以边做边整理一些笔记,方便随时查阅及后期内容补充. 微信小程序注册步骤分为三步: 1,帐号信息 2,邮箱激活 3,信息登记 1,帐号信息-进入微信公众平台官方网址,填写账号信息,注 ...

  7. 微信小程序注册/登陆,若依后台获取token

    微信小程序注册/登陆,若依后台获取token 后端接口: @ApiOperation(value = "小程序登入", httpMethod = "POST") ...

  8. 微信小程序实现身份证识别功能

    微信小程序实现身份证识别功能 1,首先登录小程序公众平台 2,进入设置 第三方设置 3,添加ocr插件 4,添加完成后 ,需要领取免费额度,是一天100次; 链接 然后就是代码编写部分 首先在app. ...

  9. 微信小程序调用指纹验证

    微信小程序调用指纹验证共有三个相关的接口 1.wx.checkIsSupportSoterAuthentication() 获取本机支持的 SOTER 生物认证方式 wx.checkIsSupport ...

最新文章

  1. ios 构建版本一直在处理中_iOS关于审核提交构建版本不显示问题集锦
  2. pandas 修改数据和数据类型
  3. 这一年,宇宙“面目”愈发清晰
  4. 京东方拟收购法国零售物联网领域公司50.1%以上股份
  5. C#资源释放及Dispose、Close和析构方法
  6. width用计算机英语,计算机的英语词汇
  7. linux 磁盘查看方式
  8. 1-4-14:计算邮资
  9. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
  10. svn 回退/更新/取消至某个版本命令详解
  11. NLP-自然语言处理
  12. 跟我做一个可以聊天的 Visual Studio Code 插件
  13. Andriod基础知识了解一下
  14. 如何利用COOC生成动态排名变化利器可识别的数据格式
  15. 城市场景车路协同网络该怎么建?
  16. linux运行魔兽世界,暴雪内部就这么玩:Linux运行《魔兽世界》教程
  17. Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)
  18. Hadoop集群中HDFS的API测试案例以及MapReduce的多种提交Job方式案例
  19. MATLAB中的乘除法 “ * ” 和 “ .* ” and “ / ” 和 “ ./ ”
  20. 网络和VPC简单介绍

热门文章

  1. 进程和线程最通俗的形象比喻
  2. vue elementUi邮箱列表选择(全选,已读,未读,删除)功能
  3. 云计算与大数据之间的紧密联系
  4. Pr Pro如何创建一个项目?
  5. 解决 nohup: ignoring input and appending output to ‘nohup.out’和 nohup: ignoring input and redirecting
  6. 【转】雅典娜与宙斯的对话.(kerberos原理)
  7. 为你解析机器学习品酒步骤(附视频)
  8. ubuntu16 杀死进程解决 E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)
  9. 破解XCode 3.2.5 免证书运行程序到 真机ipod(已破解)
  10. 【一笔画益智游戏教程攻略】总共有100关图文教程