身份证15位转换18位

/**
* 
* @param {*} card   字符串 
* @returns 
*/

function changeFivteenToEighteen(card) {
  if (card == null || card == "") {
      return true;
  }
  if (card.length == '15') {
      var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
      var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
      var cardTemp = 0, i;
      card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);
      for (i = 0; i < 17; i++) {
          cardTemp += card.substr(i, 1) * arrInt[i];
      }
      card += arrCh[cardTemp % 11];
      return card;
  }
  return card;
};


// 使用方法
changeFivteenToEighteen('440135428645127')
posted @ 2021-10-13 10:14  前端搬运工bug  阅读(457)  评论(0)    收藏  举报