ActionScript 3 使用RegExp验证卡号

Posted

tags:

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

public function validateCardNumber(ccNumber:String):Boolean
{
    var americanExpress:RegExp  = /^(34|37) ([0-9]{13})$/x;
    var dinnersClub:RegExp      = /^(30[0-5]) ([0-9]{13})$/x;
    var masterCard:RegExp       = /^(5[1-5]) ([0-9]{14})$/x;
    var visa:RegExp             = /^4 ([0-9]{12} | [0-9]{15})$/x;
    var valid:Boolean;
    ccNumber = ccNumber.match(/\d/g).join('');
 
    if (americanExpress.test(ccNumber) || dinnersClub.test(ccNumber) ||
        masterCard.test(ccNumber) || visa.test(ccNumber))
        valid = true;
 
    return valid && luhnChecksum(ccNumber);
}

public function luhnChecksum(number:String):Boolean
{
    var digits:Array = number.split('');
    var start:uint = (number.length % 2 == 0) ? 0:1;
    var sum:int;
 
    while (start < digits.length)
    {
        digits[start] = uint(digits[start]) * 2;
        start += 2;
    }
 
    digits = digits.join('').split('');
 
    for (var i:uint = 0; i < digits.length; i++)
    {
        sum += uint(digits[i]);
    }
    return (sum % 10 == 0);
}

以上是关于ActionScript 3 使用RegExp验证卡号的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 使用RegExp验证卡号

ActionScript 3 使用RegExp验证日历日期

ActionScript 3 使用RegExp验证Web地址

ActionScript 3 使用RegExp验证电话号码

ActionScript 3 使用RegExp验证电子邮件地址

ActionScript 3 通过RegExp进行URL验证