2011-03-07 15 views
10

ढूंढें मुझे 4 सबसे आम क्रेडिट कार्ड प्रकारों को वापस करने के लिए यह सरल कार्य मिला।Jquery क्रेडिट कार्ड प्रकार

jQuery के लिए नया होने के नाते, मैं इनपुट कार्ड में क्रेडिट कार्ड नंबर में उपयोगकर्ता प्रकार के रूप में क्रेडिट कार्ड प्रकार को प्रदर्शित करने के लिए किस jQuery प्लगइन का उपयोग कर सकता हूं?

function creditCardTypeFromNumber(num) { 
    // first, sanitize the number by removing all non-digit characters. 
    num = num.replace(/[^\d]/g,''); 
    // now test the number against some regexes to figure out the card type. 
    if (num.match(/^5[1-5]\d{14}$/)) { 
    return 'MasterCard'; 
    } else if (num.match(/^4\d{15}/) || num.match(/^4\d{12}/)) { 
    return 'Visa'; 
    } else if (num.match(/^3[47]\d{13}/)) { 
    return 'AmEx'; 
    } else if (num.match(/^6011\d{12}/)) { 
    return 'Discover'; 
    } 
    return 'UNKNOWN'; 
} 

धन्यवाद!

उत्तर

4
$('#someTextBox').change(function() { 
    $('#someOutput').text(creditCardTypeFromNumber($(this).val())); 
}); 

id="someOutput" पाठ बॉक्स जो आग जब उपयोगकर्ता तत्व id="someTextBox" में पाठ में परिवर्तन का परिणाम के साथ कुछ तत्व में हो जाएगा ताकि उत्पादन।

+6

'परिवर्तन()' तब तक नहीं निकाला जाएगा जब तक टेक्स्ट इनपुट फोकस न हो जाए। – Hussein

+0

टाइप करते समय सत्यापन के लिए keyup() का उपयोग करें, मुझे पता है कि थोडा पुराना है, लेकिन मैं इस तरह कुछ ढूंढ रहा था। बस नोट करना चाहता था, @ डैनियल ए व्हाइट आपको लाइन 2 के अंत में एक अतिरिक्त चाहिए); – stinkysGTI

1

http://www.ihwy.com/labs/jquery-validate-credit-card-extension.aspx

http://docs.jquery.com/Plugins/Validation/Methods/creditcard

प्लगइन्स डिफ़ॉल्ट रूप से लिखते-लिखते ही कार्ड सत्यापन नहीं हो सकता है। रीयलटाइम सत्यापन करने के लिए, आप इनपुट फ़ील्ड पर एक साधारण keyup() बांध सकते हैं ताकि प्रत्येक कुंजी स्ट्रोक के बाद सत्यापन किया जा सके।

0

इसके अलावा, एफवाईआई, this thread (link) पर उत्तर अन्य कार्ड प्रकारों के लिए कुछ regex है, साथ ही साथ क्रेडिट कार्ड नंबरों का एक अद्भुत स्पष्टीकरण है।

$('#CardNumber').keyup(function(){ 
    if($(this).val().length >= 6){ 
     cardType = creditCardTypeFromNumber($(this).val()); 
    } 
}); 
0

एक नि: शुल्क बिन API उपयोग:

यहाँ एक समारोह है कि केवल आग के बाद वे कम से कम 6 अंक (कार्ड के प्रकार की पहचान करने वाला वाले) में प्रवेश किया है https://tripayments.com/bins/ जैसी सेवा। पहले 6 जमा करें और यह "विस्तार कार्ड उत्पाद" प्रदान करेगा जो वीज़ा, मास्टरकार्ड, आदि

संबंधित मुद्दे