1:校验手机号

//JS正则表达式校验手机号function isPoneAvailable(poneInput) {var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;if (!myreg.test(poneInput)) {return false;} else {return true;}}

校验身份证号

//身份证号码校验function SFID(card) {var vcity={ 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:"澳门",91:"国外"};
//检查号码是否符合规范,包括长度,类型var isCardNo = function(card){//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符Xvar reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;if(reg.test(card) === false){return false;}return true;};
//取身份证前两位,校验省份var checkProvince = function(card){var province = card.substr(0,2);if(vcity[province] == undefined){return false;}return true;};
//检查生日是否正确var checkBirthday = function(card){var len = card.length;//身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字if(len == '15'){var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;var arr_data = card.match(re_fifteen);var year = arr_data[2];var month = arr_data[3];var day = arr_data[4];var birthday = new Date('19'+year+'/'+month+'/'+day);return verifyBirthday('19'+year,month,day,birthday);}//身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为Xif(len == '18'){var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;var arr_data = card.match(re_eighteen);var year = arr_data[2];var month = arr_data[3];var day = arr_data[4];var birthday = new Date(year+'/'+month+'/'+day);return verifyBirthday(year,month,day,birthday);}return false;};
//校验日期var verifyBirthday = function(year,month,day,birthday){var now = new Date();var now_year = now.getFullYear();//年月日是否合理if(birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day){//判断年份的范围(3岁到100岁之间)var time = now_year - year;if(time >= 3 && time <= 100){return true;}return false;}return false;};
//校验位的检测var checkParity = function(card){//15位转18位card = changeFivteenToEighteen(card);var len = card.length;if(len == '18'){var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');var cardTemp = 0, i, valnum;for(i = 0; i < 17; i ++){cardTemp += card.substr(i, 1) * arrInt[i];}valnum = arrCh[cardTemp % 11];if (valnum == card.substr(17, 1)){return true;}return false;}return false;};
//15位转18位身份证号var changeFivteenToEighteen = function(card){if(card.length == '15'){var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');var cardTemp = 0, i;card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);for(i = 0; i < 17; i ++){cardTemp += card.substr(i, 1) * arrInt[i];}card += arrCh[cardTemp % 11];return card;}return card;};//是否为空if(card === ''){// mui.alert('请输入身份证号,身份证号不能为空');return false;}//校验长度,类型if(isCardNo(card) === false){//  mui.alert('您输入的身份证号码不正确,请重新输入');return false;}//检查省份if(checkProvince(card) === false){//  mui.alert('您输入的身份证号码不正确,请重新输入');return false;}//校验生日if(checkBirthday(card) === false){//  mui.alert('您输入的身份证号码生日不正确,请重新输入');return false;}//检验位的检测if(checkParity(card) === false){//  mui.alert('您的身份证校验位不正确,请重新输入');return false;}return true;};

此代码是在java的JS里面运行的,其他语言不清楚是否可行,只是近期在开发项目时用到了,本人是个小白,上网找的,做个笔记,以后也许还用得到

JS校验手机号和身份证号格式相关推荐

  1. Delphi:校验手机号及身份证号

    //校验手机号   function IsMobileNumber( num:string ):boolean;   begin     Result:=False;     if length( t ...

  2. HTML 的js中手机号,身份证号等正则表达式表示

    文章目录 1. 正则表达式 --- 规则 1.1 正则表达式基本语法 1.2 常用的正则表达式 2. 手机号正则表达式 1. 正则表达式 - 规则 正则表达式(Regular Expression)是 ...

  3. js验证手机号、身份证号

    1. 验证手机号-是否有11位 验证规则:首位:1.第2位:3 - 9.第3 - 8位:0 - 9 let phone = '15555'let myreg = /^[1][3,4,5,6,7,8,9 ...

  4. 使用js验证身份证号格式以及身份证号中的生日验证

    由于不管是测试项目练手还是实际项目开发,都应该考虑数据的严密性和软件的通俗易懂的实用性,下面是我用js实现的验证身份证号格式以及身份证号中的生日验证代码 //生日移出点击事件验证身份证号中的生日验证 ...

  5. 严格身份证格式校验,真实身份证号校验方法文件CheckIdCardUtil.js

    业务需求,需要用到非常严格的身份证号格式校验 这里校验方法经过测试真实身份证号码日期改一位都不行,必须完全真实号码 以下内容是项目中用到的校验方法,记录下来防止以后再用到 import check f ...

  6. SpringBoot自定义注解实现身份证号格式校验

    背景 ​ 身份证的组成部分较为复杂, 如果仅使用正则表达式的话, 有些情况也无法校验出来, 例如正确的证件号为513334200310119074, 如果把最后一位变成9, 则是一个错误的证件号, 但 ...

  7. 完美通行证身份证号格式_使用通行证js进行节点js身份验证

    完美通行证身份证号格式 In this article, I will share my knowledge of authenticating node.js server using passpo ...

  8. uni-app中正则表达式验证手机号,身份证号输入格式是否正确

    在用户提交信息的时候通常会输入手机号之类的,所以需要前端在提交的时候验证其输入的格式是否正确,以是在uni-app项目中,仅展示验证部分内容 手机号: let reg = /^[1][3,4,5,7, ...

  9. 利用正则来验证姓名、手机号、身份证号

    开发工具与关键技术:Visual Studio 2015 正则 作者:孙水兵 撰写时间:2019年6月27 一. 效果 二. 用到的方法 test:test 方法检查字符串是否与给出的正则表达式模式相 ...

最新文章

  1. YOLOv5x6模型来了! 同样支持CPU上ONNX部署与推理
  2. python绘制3d图-使用python绘制3d的图形
  3. Runtime之IMP指针,isa指针
  4. 阿里技术专家推荐的20本书,免费送!
  5. java setcharat,Java StringBuffer setCharAt()方法
  6. SAP_SD_客户退货需要做哪些处理
  7. rabbitmq-发布订阅模式
  8. Silicio for Mac(迷你播放器)免费版
  9. .NET(WinCE、WM)开发转Android开发 ——Xamarin和Smobiler对比...
  10. 往PPT幻灯中添加图片的方法有哪些?
  11. js加html连线实现流程,(jsPlumb开发入门教程实现html5拖拽连线.doc
  12. 再谈Objective C中的BOOL类型
  13. 运放电路增益计算公式
  14. 公司禁用U盘的方法总结
  15. c++学习笔记-------《c++自学通》第六章 基本类
  16. 数据质量控制与数据治理
  17. 【渝粤教育】电大中专建设工程法规_1作业 题库
  18. goldendict 屏幕取词
  19. Hive自定义函数报错10014 :No matching method for class
  20. 计算广告第二版电子版_88J9-1图集:室外工程-围墙、围栏(第二版),电子版带走...

热门文章

  1. 抄360一个关键的洁净实现(一)
  2. Pandas读书笔记
  3. 雅思作文未来计算机的应用,雅思写作大作文范文 雅思写作讨论双方观点 人工智能artificial intelligence...
  4. makefile(五):makefile的条件判断与循环
  5. 双方都在外地能起诉离婚吗
  6. Python多线程 坑Unhandled exception in thread started by Error in sys.excepthook
  7. ActiveX控件在IE浏览器中自动下载
  8. Golang 031. 《孙子算经》之鸡兔同笼
  9. 省级面板数据(2000-2019)三:财政、外资、工业(stata或excel版)
  10. 洛谷 P3797 妖梦斩木棒 解题报告