摘要:代碼請輸入位你的身份證號碼你輸入的身份證格式不正確,月份填寫錯誤你輸入的身份證的個格式不正確,日期格填寫錯誤位號碼位號碼轉換
代碼:
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位號碼:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/83678.html
摘要:例也可通過驗證,而月并不存在日校驗碼是由位本體碼計算得出,方案并未校驗此碼這個鏈接中的位正則表達式錯的,最后順序碼應該是位。 身份證正則表達式 在項目中遇到身份證號碼驗證,百度了一些資料,太簡單的和太復雜的pass,綜合了一些案例,取長補短,形成了個折中版本的,正則表達式如下: var reg =/(^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...
閱讀 2221·2021-10-12 10:11
閱讀 912·2021-10-09 09:41
閱讀 3897·2021-09-09 11:37
閱讀 2032·2021-09-08 10:41
閱讀 2698·2019-08-30 12:58
閱讀 2429·2019-08-30 10:58
閱讀 1356·2019-08-26 13:40
閱讀 4254·2019-08-26 13:36