-2

我正在尝试使用 Luhn 算法验证签证卡号。但是这个java脚本代码不起作用?请帮我找出这段代码的错误。是否可以执行此代码?任何形式的帮助表示赞赏。提前致谢...

function allnumeric()  
            {   
            var numbers = /^[0-9]+$/;  
            if(inputtxt.value.match(numbers))  
                {  
                    if(function visa(inputtxt))

                    {

                        if(function luhn(inputtxt))

                        {
                        return true;
                        }
                        else  
                        {   
                        return false;  
                        }

                    }


            else  
            {  
            alert('Please enter your valid 10 digit mobile number only');  
            inputtxt.focus();  
            return false;  
            } 

function visa(inputtxt)  
{  
  var cardno = /^(?:4[0-9]{12}(?:[0-9]{3})?)$/;  
  if(inputtxt.value.match(cardno))  
        {  
      return true;  
        }  
      else  
        {  
        alert("Not a valid Visa credit card number!");  
        return false;  
        }  
}  

function luhn(inputtxt)
{
            /* Luhn check */
            var cc_sum = 0;
            var parsedCC;
            var cclen = inputtxt.length;
            for (i=cclen-1; i>=0; i--) {
                    var charati = inputtxt[i] + '';
                    parsedCC = parseInt(charati);
                    var oddeven = cclen-1 - i;
                    cc_sum += (oddeven%2 == 0) ? parsedCC :
                                    (parsedCC > 4) ? parsedCC * 2 % 10 + 1 :
                                            parsedCC * 2;
            }
            var checkvalid = ((cc_sum % 10) == 0) ? true : false;
            return checkvalid;
}
4

1 回答 1

1

function调用 visa 和 luhn 时从您的代码中删除:

编辑:我删除了不必要的代码:

function allnumeric()  
{   
    var numbers = /^[0-9]+$/;  
    if(inputtxt.value.match(numbers))  
    {  
        if(visa(inputtxt))
        {
            return luhn(inputtxt);
        }
        else 
        {
            alert('Please enter your valid 10 digit mobile number only');  
            inputtxt.focus();  
            return false;  
        }
    }
} 
于 2013-02-12T14:20:41.053 回答