2021 최신 증명서 검사 정규

신분증 검사
function checkIDCard(idcode) {
  //     
  var weight_factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
  //    
  var check_code = ['1', '0', 'X', 'x', '9', '8', '7', '6', '5', '4', '3', '2']

  var code = idcode + ''
  var last = idcode[17] //     

  var seventeen = code.substring(0, 17)

  // ISO 7064:1983.MOD 11-2
  //              
  var arr = seventeen.split('')
  var len = arr.length
  var num = 0
  for (var i = 0; i < len; i++) {
    num = num + arr[i] * weight_factor[i]
  }

  //     
  var resisue = num % 11
  var last_no = check_code[resisue]

  //      
  //     
  /*
           0
              0-9
              ,      19  20
              ,    01-12     
              ,  01-31     
      ,  ,      0-9
            0-9,    X
    */
  var idcard_patter =
        /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X]|[x])$/

  //         
  var format = idcard_patter.test(idcode)

  //       ,                     
  // return last === last_no && format ? true : false;
  return !!format
}

핸드폰 번호 검사
function checkPhone(phone) {
  if (!(/^1[3456789]\d{9}$/.test(phone))) {
    return false
  } else {
    return true
  }
}

장교 증 을 검사 하 다.
function isOfficerCard(card) {
  //   :  / / / / / /(    ) + "  " + 4 8       + " "
  //   :    2001988 ,    P011816X 
  var reg = /^[\u4E00-\u9FA5](  )([0-9a-zA-Z]{4,8})( ?)$/
  if (reg.test(card) === false) {
    return {
      'status': 0,
      'msg': '       '
    }
  } else {
    return {
      'status': 1,
      'msg': '    '
    }
  }
}

여권.
function isPassPortCard(card) {
  //   : 14/15   + 7   , G + 8   , P + 7   , S/D + 7 8   , 
  //   : 141234567, G12345678, P1234567
  var reg = /^([a-zA-z]|[0-9]){5,17}$/
  if (reg.test(card) === false) {
    return {
      'status': 0,
      'msg': '       '
    }
  } else {
    return {
      'status': 1,
      'msg': '    '
    }
  }
}

홍콩 과 마카오 주민 의 내륙 통행증
function isHKCard(card) {
  //   : H/M + 10  6   
  //   : H1234567890
  var reg = /^([A-Z]\d{6,10}(\(\w{1}\))?)$/
  if (reg.test(card) === false) {
    return {
      'status': 0,
      'msg': '                '
    }
  } else {
    return {
      'status': 1,
      'msg': '    '
    }
  }
}

대만 신분증
function checkTWIdCard(idNo) {
  if (idNo == null || idNo == '') {
    return {
      'respCode': '9',
      'respDesc': '  '
    }
  }
  if (idNo.length != 10) {
    return {
      'respCode': '1',
      'respDesc': '              (10)'
    }
  }
  var eng = idNo.substring(0, 1)
  var num = idNo.substring(1, 10)
  var sex = idNo.substring(1, 2)
  eng = eng.toUpperCase()
  var regNum = /^[0-9]+.?[0-9]*/ //           //     /[1−9]+[0−9]∗]∗/;//          //     /[1−9]+[0−9]∗]∗/
  var regEng = /^[A-Za-z]+$/
  if (!regNum.test(num)) {
    return {
      'respCode': '1',
      'respDesc': '            '
    }
  }
  if (sex != 1 && sex != 2) {
    return {
      'respCode': '1',
      'respDesc': '            '
    }
  }
  if (!regEng.test(eng)) {
    return {
      'respCode': '1',
      'respDesc': '            '
    }
  }
  // var key=[‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’J’,’K’,’L’,’M’,’N’,’P’,’Q’,’R’,’S’,’T’,’U’,’V’,’X’,’Y’,’W’,’Z’,’I’,’O’];
  var key = 'ABCDEFGHJKLMNPQRSTUVXYWZIO'
  var value = ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26',
    '27', '28', '29', '30', '31', '32', '33', '34', '35'
  ]
  var pos = key.indexOf(eng)
  if (pos == -1) {
    return {
      'respCode': '1',
      'respDesc': '            '
    }
  }
  var x1 = value[pos].substring(0, 1)
  var x2 = value[pos].substring(1, 2)
  var y = parseInt(x1) + 9 * parseInt(x2) + 8 * parseInt(num.substring(0, 1)) + 7 * parseInt(num.substring(1, 2)) + 6 *
        parseInt(num.substring(2, 3)) + 5 * parseInt(num.substring(3, 4)) + 4 * parseInt(num.substring(4, 5)) + 3 * parseInt(
    num.substring(5, 6)) + 2 * parseInt(num.substring(6, 7)) + parseInt(num.substring(7, 8))
  var checkResult = y % 10
  if ((10 - checkResult) == num.substring(8, 9)) {
    return {
      'respCode': '0',
      'respDesc': 'success'
    }
  } else {
    if (checkResult == 10 && num.substring(8, 9) == 0) {
      //          0,       0
      return {
        'respCode': '0',
        'respDesc': 'success'
      }
    } else {
      return {
        'respCode': '1',
        'respDesc': '            '
      }
    }
  }
}

대만 주민 왕래 대륙 통행증
function isTWCard(card) {
  //   :   8  18   ,   10    +     
  //   : 12345678   1234567890B
  var reg = /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/
  if (reg.test(card) === false) {
    return {
      'status': 0,
      'msg': '                '
    }
  } else {
    return {
      'status': 1,
      'msg': '    '
    }
  }
}

좋은 웹페이지 즐겨찾기