JavaScript实现银行卡号Luhm校验的方法

作者:青柠

时间:2026-10-21

浏览:605

本文介绍如何在JavaScript中通过引入jQuery和自定义luhmCheck.js文件来实现银行卡号校验。代码包含对输入非空、长度16至19位、全数字格式及Luhm算法的完整验证逻辑,并提供HTML交互示例与测试卡号。

文章目录

JavaScript实现银行卡号Luhm校验的方法

首先,需要在项目中引入jquery.js库文件。

其次,引入用于执行Luhm校验的luhmCheck.js脚本,该脚本专门处理银行卡号的合法性验证。

参考以下具体实现案例:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>无标题页</title>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/luhmCheck.js"></script>
  </head>
  <body>
    <input type="text" id="t_bankno" />
    <input type="button" id="btnCheck" value="check" onclick="CheckBankNo($('#t_bankno'));" />
    <span id="banknoInfo"></span>
  </body>
</html>

以下是相关的JavaScript核心代码逻辑:


<script type="text/javascript">
  function CheckBankNo(t_bankno) {
    var bankno = $.trim(t_bankno.val());
    if(bankno == "") {
      $("#banknoInfo").html("请填写银行卡号");
     return false;
   }
   if(bankno.length < 16 || bankno.length > 19) {
     $("#banknoInfo").html("银行卡号长度必须在16到19之间");
     return false;
   }
   var num = /^\d*$/; //全数字
   if(!num.exec(bankno)) {
     $("#banknoInfo").html("银行卡号必须全为数字");
     return false;
   }
   //开头6位
   var strBin = "10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99";
   if(strBin.indexOf(bankno.substring(0, 2)) == -1) {
     $("#banknoInfo").html("银行卡号开头6位不符合规范");
     return false;
   }
   //Luhm校验(新)
   if(!luhmCheck(bankno))
     return false;
     $("#banknoInfo").html("验证通过!");
     return true;
   }
</script>

测试使用的卡号示例如下:

1、6222600810010710887

2、6225881414207430

以上介绍了在JavaScript中校验银行卡号的具体实现代码,希望能对读者有所帮助。如有任何疑问,欢迎留言,小编会及时回复。同时感谢大家对本站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章