验证银行卡号是否合法

Posted 严少来也

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证银行卡号是否合法相关的知识,希望对你有一定的参考价值。

1. 最近在做一个电商项目,里面涉及到填写的银行卡信息,可以对银行卡号进行基本的合法校验,对于银行卡号和姓名对于的校验,目前没做,如果你有更好更全面的校验方法,请留言,谢谢。
2. 通过阿里的支付宝接口进行校验,关于请求的参数和返回结果字段说明都在工具类中进行了说明。
3. 不多说,直接上代码。

@Slf4j
public class CardUtil 
    /**
     * 验证银行号是否合法
     * @param cardNo 银行卡号
     *
     *  返回结果示例:"cardType":"DC","bank":"CMB","key":"6214832018989180","messages":[],"validated":true,"stat":"ok"
     * 返回参数字段说明:
     *      cardType:卡类型。值:DC为储蓄卡,CC为信用卡。
     *      bank:所属行。值:所属行简称。
     *      key:银行卡号。值:传入的银行卡号。
     *      messages:银行卡信息。值:数组。
     *      validated:有效性,是否正确有效。值:true为是,false为否。
     *      stat:银行卡状态。值:ok,no。
     *
     * @return
     */
    public static Boolean validateCard(String cardNo)
        try 
            String host = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo="
                    + cardNo + "&cardBinCheck=true";
            HttpClient httpClient = new DefaultHttpClient();
            HttpGet request = new HttpGet(host);
            HttpResponse response = httpClient.execute(request);
            String result = EntityUtils.toString(response.getEntity());
            log.info("检验银行卡号是否合法返回结果:" + result);
            JSONObject jsonObject = JSONObject.fromObject(result);
            return (Boolean) jsonObject.get("validated");
         catch (Exception e) 
            log.info("检验银行卡号是否合法异常:" + e.getMessage());
            return false;
        
    

以上是关于验证银行卡号是否合法的主要内容,如果未能解决你的问题,请参考以下文章

你好,我想知道这个银行卡号是不是跟名字一致?

iOS 银行卡号有效性校验

判断银行卡卡号输入的合法性接口

判断银行卡号格式是否正确

银行卡信息验证API接口调用接入流程

创建一个银行类