कोड आप लिंक किए गए डिस्कवर के लिए एक अधूरा बिन/रेंज सूची है में उल्लेख किया है एक ही एल्गोरिथ्म के php संस्करण है, डिनर के क्लब को छोड़ देता है (जो अब डिस्कवर के अंतर्गत आता है वैसे भी) , कार्ड प्रकारों को सूचीबद्ध करता है जो अब मौजूद नहीं हैं और इन्हें अन्य प्रकारों (एन रूट, कार्टे ब्लैंच) में तब्दील किया जाना चाहिए, और तेजी से महत्वपूर्ण मेस्ट्रो अंतर्राष्ट्रीय कार्ट प्रकार को अनदेखा कर सकते हैं।
जैसा कि @ एलेक्स ने पुष्टि की है, बीआईएन संख्या से कार्ड प्रकार निर्धारित करना संभव है, और कई कंपनियां ऐसा करती हैं लेकिन लगातार और सही तरीके से ऐसा करना मुश्किल नहीं होता है: कार्ड ब्रांड लगातार बदलते हैं, और चीजों का ट्रैक रखना अधिक जटिल हो जाता है आप क्षेत्रीय डेबिट कार्ड (आयरलैंड में लेजर, यूरोप में मेस्ट्रो इत्यादि) को संभालने का प्रयास करते हैं - मुझे कहीं भी इस के लिए कोड या एल्गोरिदम का नि: शुल्क और बनाए रखा (सही) टुकड़ा नहीं मिला है।
@MitMaro के रूप में बाहर poined, Wikipedia contains a high-level list of card identifiers, और भी a more-specific list of BIN numbers and ranges है, जो एक अच्छी शुरुआत है, और के रूप में gbjbaanb टिप्पणी की, Barclays has a publically-published list (लेकिन यह किसी कारण के लिए डिस्कवर शामिल करने के लिए नहीं लगता है - शायद वे डिस्कवर पर संसाधित नहीं करते नेटवर्क?)
ऐसा लगता है कि ट्रिवियल एक सही कार्ड-पहचान एल्गोरिदम/विधि/फ़ंक्शन को बनाए रखने के लिए काम करता है, इसलिए जब तक कि आपका पता लगाने की नियमितता गैर-महत्वपूर्ण/सूचनात्मक न हो (उदाहरण के लिए @ साइमन_वेवर का सुझाव), या आप इसे चालू रखने के लिए काम में जाने के लिए, मैं अनुशंसा करता हूं कि आप स्वचालित पहचान छोड़ दें।
+1 - हमेशा आश्चर्य कैसे Paypal के चालाक कार्ड प्रविष्टि प्रपत्र काम करता है। –
संभावित डुप्लिकेट [आप नंबर पर आधारित क्रेडिट कार्ड प्रकार का पता कैसे लगाते हैं?] (Http://stackoverflow.com/questions/72768/how-do-you-detect-credit-card-type-based-on-number) –