2011-02-10 5 views
0

양식을 게시 할 때 카드 입력에 Luhn 점검을 수행하는 기능이 있습니다.Luhn 점검을 수행하기 전에 공백을 제거하십시오.

<script language="javascript"> 
function Calculate(Luhn) 
{ 
var sum = 0; 
for (i=0; i<Luhn.length; i++) 
{ 
    sum += parseInt(Luhn.substring(i,i+1)); 
} 
var delta = new Array (0,1,2,3,4,-4,-3,-2,-1,0); 
for (i=Luhn.length-1; i>=0; i-=2) 
{  
    var deltaIndex = parseInt(Luhn.substring(i,i+1)); 
    var deltaValue = delta[deltaIndex]; 
    sum += deltaValue; 
} 
var mod10 = sum % 10; 
mod10 = 10 - mod10; 
if (mod10==10) 
{  
    mod10=0; 
} 
return mod10; 
} 

function Validate(Luhn) 
{ 
var LuhnDigit = parseInt(Luhn.substring(Luhn.length-1,Luhn.length)); 
var LuhnLess = Luhn.substring(0,Luhn.length-1); 
if (Calculate(LuhnLess)==parseInt(LuhnDigit)) 
{ 
    return true; 
} 
alert("\n\nYou have mis-typed your card number! \nPlease check and correct.\n\n") 
return false; 
} 

카드 번호에 입력 된 공백을 제거하는 기능도 있습니다.

function stripChar(sValue, sChar) { 
var i, tempChar, buildString; 
buildString = "" 
for (var i=0; i<sValue.length; i++) { 
    tempChar = sValue.charAt(i); 
    if (tempChar != sChar) { 
     buildString = buildString + tempChar; 
    } 
} 
return buildString; 

공백을 제거하고 카드 번호를 뚜렷하게 표시하도록 기능을 어떻게 조합합니까? 당신에 onblur 기능에서

답변

1

당신은 사용할 수 있습니다

Validate(stripChar(sValue, sChar)); 
관련 문제