微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

信用卡破折号被算作字符

如何解决信用卡破折号被算作字符

爪哇。我的信用卡号码的规则之一是前四位数字的总和必须比后四位数字的总和小 1,但我认为因为我的号码有破折号 (-) 将它们分开,所以会导致错误 5。我需要有破折号。我应该在这个结构中改变什么?

    int firstfourdigits = 0;
    int lastfourdigits = 0;
   
    for(int i=0; i<4; i++)
        firstfourdigits = firstfourdigits + Character.getNumericValue(ccNumber.charat(i));
    for (int i=0,m = ccNumber.length()-1; i<4; i++,m--)
        lastfourdigits = lastfourdigits + Character.getNumericValue(ccNumber.charat(m));

      
    if(lastfourdigits!= firstfourdigits -1){
        valid = false;
        errorCode = 5;
        return;
    }

解决方法

您可以创建一个仅包含数字的单独字符串:

String digits = ccNumber.replaceAll("[^0-9]","");

然后使用该字符串进行验证。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。