亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

React 實現(xiàn) 身份證15位轉18位

TwIStOy / 2951人閱讀

摘要:代碼請輸入位你的身份證號碼你輸入的身份證格式不正確,月份填寫錯誤你輸入的身份證的個格式不正確,日期格填寫錯誤位號碼位號碼轉換

代碼:

    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

相關文章

  • 1518份證號碼正則表達式

    摘要:例也可通過驗證,而月并不存在日校驗碼是由位本體碼計算得出,方案并未校驗此碼這個鏈接中的位正則表達式錯的,最后順序碼應該是位。 身份證正則表達式 在項目中遇到身份證號碼驗證,百度了一些資料,太簡單的和太復雜的pass,綜合了一些案例,取長補短,形成了個折中版本的,正則表達式如下: var reg =/(^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|...

    galois 評論0 收藏0
  • 前端面試題總結(js、html、小程序、React、ES6、Vue、算法、全棧熱門視頻資源)

    摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...

    li21 評論0 收藏0
  • 前端面試題總結(js、html、小程序、React、ES6、Vue、算法、全棧熱門視頻資源)

    摘要:并總結經典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關注微信小程序的開發(fā)和面試問題,由基礎到困難循序漸進,適合面試和開發(fā)小程序。并總結vue React html css js 經典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...

    AaronYuan 評論0 收藏0
  • 正則表達式

    摘要:下面分別分析出生日期和校驗位檢查生日日期是否正確輸入的身份證號里出生日期不對將位身份證轉成位校驗位按照的規(guī)定生成,可以認為是數字。 一、創(chuàng)建方式 字面量創(chuàng)建方式var reg = /abc/;對象RegExp,適合正則表達式模式不確定的時候var reg = new RegExp(abc); 二、表達式模式(部分) 常用: 1. w匹配一個單字字符(字母,數字,下劃線) W2. d匹配...

    iKcamp 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<