JS进行银行卡号校验

JS检验用户输入的银行卡号的合法性,搜索后都说采用Luhn算法进行校验,Luhn算法介绍可见这位博友https://www.jianshu.com/p/193...,JS代码实现如下:

function acount_check(cardNum) {

  if(!cardNum) return false;

  let len = cardNum.length;

  let carNumArr = Array.from(cardNum.slice(0,len));

  let tem = 0;

  for(let i = len-2;i>=0;i-=2){

    tem = parseInt(cardNum[i])*2;

    carNumArr[i] = Math.floor(tem/10) + tem%10;

  }

  let result = 0;

  carNumArr.forEach(val => {

    result+=parseInt(val);

  })

  return result%10 == 0;

};

经检测,部分银行卡号并不符合上面的算法规则,检测数据为下述链接:https://www.qusocha.com/bank/1/
如:该卡号返回false:(6217003480001296493),在线银行卡号查询网站http://www.cardcn.com/search....查询后,确实存在该卡号。请问各位码友们有什么好的解决方案码?

吃鸡游戏
浏览 825回答 1
1回答

MMTTMM

以前我也天真的以为,他们都准守规则,当我接触到企业对公账户,我就放弃了,直接判断长度。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript