2011-02-10 24 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; 
} 

我也有一個函數,可以刪除卡號onblur中可能已經輸入的空格。

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

在你的onblur功能,你可以使用:

Validate(stripChar(sValue, sChar));