js匹配银行卡号和开户银行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37682202/article/details/82116571

最近做公司的项目遇到银行卡号匹配开户银行的问题,一开始是正则匹配银行卡号码,开户银行银行自己填写,后来用户又让改,说要自动匹配开户银行,唉,用户都是大哥,让改就要改……话不多说,上代码。

自己寻思了半天,上网看了一些大神的思路,最后做出来,开户银行系统匹配,银行卡号码使用正则来验证。

其中要引用两个js文件,链接地址如下:https://pan.baidu.com/s/1M4OW7Yi7JaIMA6GYr4Jv6g

如果链接失效请Q我:193548305

form表单里的引用,因为我这里是使用ajax提交的,所以展示给用户的使用的p标签,实际的值是表单隐藏域:

<!-- form 表单 -->
<div class="row cl">
    <label class="form-label col-xs-4 col-sm-2">开户银行</label>
    <div class="formControls col-xs-8 col-sm-9">
        <input type="hidden" name="b_name">
        <p id="b_name" style="color:red;margin-top:5px">输入卡号自行匹配</p>
    </div>
    <div class="col-xs-8 col-sm-6 col-xs-offset-4 col-sm-offset-2"> </div>
</div>
//依赖于js库,不要忘记引用哦,这里我就没有提供js库啦
<script src="__STYLE__/js/luhmCheck.js"></script>
<script src="__STYLE__/js/bankcard.js"></script>

<script>
$(function(){
    //银行卡验证
    $("input[name='b_card']").blur(function(){  
	if($("input[name='b_card']").val() != ""){	        	
            if($(".b_card").length < 15 && $(".b_card").length > 20) {
		alert("银行卡号长度必须在16到19之间!");
		return false;
	    }
	    var num = /^\d*$/; //全数字
	    if(!num.test($(".b_card").val())) {
		alert("银行卡号必须全为数字!");
		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($(".b_card").val().substring(0,2)) == -1) {
		alert("银行卡号开头6位不符合规范!");
		return false;
	    }
	    //Luhm校验(新) luhmCheck()是验证银行卡号码正误的
	    if(!luhmCheck($(".b_card").val())){
		alert("银行卡号码有误!");
		return false;
	    }else{
               //这里是展示给用户看得银行卡开户名以及传递给表单隐藏域的bankCardAttribution()方法就是自动匹配开户银行的
		var b_name = bankCardAttribution($(".b_card").val());
                $("input[name='b_name']").val(b_name['bankName']);
                $("#b_name").text(b_name['bankName']); 
	    }
	}else{
	    alert("请输入银行卡号码!");
	    return false;           
	}  
    });
});
</script>

关于银行卡开户银行的匹配,js封装的字段在谷歌浏览器中使用(console.log)打印如下:

猜你喜欢

转载自blog.csdn.net/qq_37682202/article/details/82116571