摘要:代碼請(qǐng)輸入位你的身份證號(hào)碼你輸入的身份證格式不正確,月份填寫(xiě)錯(cuò)誤你輸入的身份證的個(gè)格式不正確,日期格填寫(xiě)錯(cuò)誤位號(hào)碼位號(hào)碼轉(zhuǎn)換
代碼:
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("請(qǐng)輸入15位你的身份證號(hào)碼!"); return; } let month = oldID.substring(8,10); if (!this.checkMonth(month)){ alert("你輸入的身份證格式不正確,月份填寫(xiě)錯(cuò)誤!") return; } let year = "19" + oldID.substring(6,8); let day = oldID.substring(10,12); if(!this.checkDay(year,month,day)){ alert("你輸入的身份證的個(gè)格式不正確,日期格填寫(xiě)錯(cuò)誤"); 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位號(hào)碼:) } } `
18位號(hào)碼:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/83678.html
摘要:例也可通過(guò)驗(yàn)證,而月并不存在日校驗(yàn)碼是由位本體碼計(jì)算得出,方案并未校驗(yàn)此碼這個(gè)鏈接中的位正則表達(dá)式錯(cuò)的,最后順序碼應(yīng)該是位。 身份證正則表達(dá)式 在項(xiàng)目中遇到身份證號(hào)碼驗(yàn)證,百度了一些資料,太簡(jiǎn)單的和太復(fù)雜的pass,綜合了一些案例,取長(zhǎng)補(bǔ)短,形成了個(gè)折中版本的,正則表達(dá)式如下: var reg =/(^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...
摘要:下面分別分析出生日期和校驗(yàn)位檢查生日日期是否正確輸入的身份證號(hào)里出生日期不對(duì)將位身份證轉(zhuǎn)成位校驗(yàn)位按照的規(guī)定生成,可以認(rèn)為是數(shù)字。 一、創(chuàng)建方式 字面量創(chuàng)建方式var reg = /abc/;對(duì)象RegExp,適合正則表達(dá)式模式不確定的時(shí)候var reg = new RegExp(abc); 二、表達(dá)式模式(部分) 常用: 1. w匹配一個(gè)單字字符(字母,數(shù)字,下劃線) W2. d匹配...
閱讀 2156·2021-10-12 10:11
閱讀 852·2021-10-09 09:41
閱讀 3775·2021-09-09 11:37
閱讀 1955·2021-09-08 10:41
閱讀 2650·2019-08-30 12:58
閱讀 2377·2019-08-30 10:58
閱讀 1288·2019-08-26 13:40
閱讀 4128·2019-08-26 13:36