2013-04-09 2 views
1

Я пытаюсь использовать jQuery Credit Card Validator для проверки кредитных карт.Проверка события keyup в Javascript

Основное использование дается как

$('#cc_number').validateCreditCard(function(result) 
{ 
alert('CC type: ' + result.card_type.name 
    + '\nLength validation: ' + result.length_valid 
    + '\nLuhn validation: + result.luhn_valid'); 
}); 

Я посмотрел на файл демо JS включен на этом сайте, и не мог сделать головы, ни хвоста.

То, что я пытаюсь достичь OnKeyUp ввода, сделать что-то в зависимости от того, какой тип карты ловится:

//on key up of input 
if (card == valid) 
    { 
    if (card == visa) 
     { 
     //do something 
     } 
    else if (card == mastercard) 
    { 
     //do something 
    } 
     // repeat for rest of card types 
    } 
else 
    { 
    //Just print an error 
    } 

Я знаю, что это довольно простой материал, но кто-нибудь может мне помочь с тем, как достичь?

my HTML: 
<input type="text" id="cc_number" /> 

ответ

3

Разработчик jQuery Credit Card Validator здесь.

jCCV связывает событие keyup, поэтому вам не нужно это делать. (на самом деле это немного сложнее, чем все это - все, что вам нужно знать, это то, что каждый раз, когда изменяется значение поля, выполняется ваша функция обратного вызова).

$('#cc_number').validateCreditCard(function(result) 
{ 
    // this will execute everytime the value of the `#cc_number` field changes 

    if (result.length_valid && result.luhn_valid) { 
     if (result.card_type.name == 'visa') { 
      // do something 
     } else if (result.card_type.name == 'mastercard') { 
      // do something 
     }  
     // repeat for rest of card types 
    } else { 
     // just print an error 
    } 
}); 
+0

Сам человек! Очень впечатлил, спасибо! – Barney

+1

Без проблем! Если вам нужна дополнительная помощь, вы можете связаться со мной прямо на Twitter @PawelDecowski. Рад помочь! –

+0

Pawel, пожалуйста, помогите на этот пост @ http://stackoverflow.com/questions/22148771/jquery-validation-for-credit-card-limiting-to-visa-and-mastercard – user3067524

1

попробовать что-то вроде этого:

$("#cc_number").on("keyup", function() { 
    $(this).validateCreditCard(function(result) { 
    alert('CC type: ' + result.card_type.name 
     + '\nLength validation: ' + result.length_valid 
     + '\nLuhn validation: ' + result.luhn_valid); 
    }); 

    if (result.card_type.name) { 
     if (result.card_type.name == visa) 
     { 
     //do something 
     } 
     else if (result.card_type.name == mastercard) 
     { 
     //do something 
     } 
     // repeat for rest of card types 
    } 
    else { 
    //Just print an error 
    } 
}); 
+0

На самом деле это неправильно. jCCV автоматически связывает необходимые события, поэтому обратный вызов выполняется всякий раз, когда изменяется значение поля. Он будет необязательным в предстоящей версии. –

-1

Используйте этот один за полоской: https://github.com/stripe/jquery.payment

Намного лучше.

+1

Это немного перебор, так как это библиотека платежей, а функции проверки - просто помощники. Я пристрастен, однако, поскольку я разработчик Valderator кредитной карты jQuery;) –

Смежные вопросы