摘要:代码请输入位你的身份证号码你输入的身份证格式不正确,月份填写错误你输入的身份证的个格式不正确,日期格填写错误位号码位号码转换
代码:
import React,{Component} from "react"; import "./list.less"; export default class IDcard extends Component { constructor(props) { super(props); this.state = { newID:"", oldID:"", } } onChange(key,e,value) { this.setState({oldID:e.target.value}); } onClick(){ let v = new Array(); let vs = "10X98765432"; v.push(2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7) let oldID=this.state.oldID if(oldID.length !==15){ alert("请输入15位你的身份证号码!"); return; } let month = oldID.substring(8,10); if (!this.checkMonth(month)){ alert("你输入的身份证格式不正确,月份填写错误!") return; } let year = "19" + oldID.substring(6,8); let day = oldID.substring(10,12); if(!this.checkDay(year,month,day)){ alert("你输入的身份证的个格式不正确,日期格填写错误"); return; } let cardID17 = oldID.substring(0,6)+"19"+oldID.substring(6); let N = 0,R = -1,T = "0",j = 0,cardID18=""; for (var i = 16;i >=0;i--){ N += parseInt(cardID17.substring(i,i+1))*v[j]; j++; } R = N % 11; T = vs.charAt(R) cardID18 = cardID17 + T; this.setState({newID:cardID18}) } checkMonth(month){ if (month<1 || month >12){ return false; } return true; } checkDay(year,month,day){ let Mday = 0; if(day<1 || day>31){ return false; } if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) Mday =31; if(month==4||month==6||month==9||month==11) Mday = 30; if(month===2) Mday = this.isLeapYear(year); if(day>Mday) return false; return true } isLeapYear(year){ return (year % 4 === 0 && year % 100 !==0) || (year % 400 === 0) } render(){ return(15位号码:) } } `
18位号码:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/83678.html
摘要:例也可通过验证,而月并不存在日校验码是由位本体码计算得出,方案并未校验此码这个链接中的位正则表达式错的,最后顺序码应该是位。 身份证正则表达式 在项目中遇到身份证号码验证,百度了一些资料,太简单的和太复杂的pass,综合了一些案例,取长补短,形成了个折中版本的,正则表达式如下: var reg =/(^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|...
摘要:并总结经典面试题集各种算法和插件前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快速搭建项目。 本文是关注微信小程序的开发和面试问题,由基础到困难循序渐进,适合面试和开发小程序。并总结vue React html css js 经典面试题 集各种算法和插件、前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快...
摘要:并总结经典面试题集各种算法和插件前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快速搭建项目。 本文是关注微信小程序的开发和面试问题,由基础到困难循序渐进,适合面试和开发小程序。并总结vue React html css js 经典面试题 集各种算法和插件、前端视频源码资源于一身的文档,优化项目,在浏览器端的层面上提升速度,帮助初中级前端工程师快...
阅读 2050·2021-10-12 10:11
阅读 812·2021-10-09 09:41
阅读 3698·2021-09-09 11:37
阅读 1903·2021-09-08 10:41
阅读 2606·2019-08-30 12:58
阅读 2340·2019-08-30 10:58
阅读 1229·2019-08-26 13:40
阅读 4003·2019-08-26 13:36