سؤال

ما هي الطريقة الصحيحة للتحقق من بطاقة ائتمان مع Regex؟ إذا كان أي واحد يستخدم هناك الكثير من الأطنان. إن لم يكن كيفية التحقق؟

هل كانت مفيدة؟

نصائح أخرى

انظر هذا الرابط العثور على أو التحقق من أرقام بطاقات الائتمان مع تعبيرات العادي

  • Visa: ^ 4 [0-9] {12} (؟: [0-9] {3})؟ $ جميع أرقام بطاقات Visa تبدأ ب 4. بطاقات جديدة تحتوي على 16 رقما. البطاقات القديمة لديها 13.
  • MasterCard: ^ 5 [1-5] [0-9] {14} $ جميع أرقام MasterCard تبدأ بالأرقام 51 حتى 55. جميعها تحتوي على 16 رقما.
  • أمريكان إكسبريس: ^ 3 [47] [0-9] {13} أرقام بطاقات أمريكا السريعة الأمريكية تبدأ ب 34 أو 37 ولها 15 رقما.
  • Diners Club: ^ 3 (؟: 0 [0-5] | [68] [0-9]) [0-9] {11} $ Dianers Club أرقام بطاقات النادي تبدأ ب 300 من 305 أو 36 أو 38. جميعهم لديهم 14 أرقام. هناك بطاقات نادي داينرز تبدأ ب 5 ولديها 16 رقما. هذه هي مشروع مشترك بين نادي داينرز وماستركارد، وينبغي معالجتها مثل ماستركارد.
  • اكتشاف: ^ 6 (؟: 011 | 5 [0-9] {2}) [0-9] {12} $ اكتشف أرقام البطاقات تبدأ ب 6011 أو 65. جميع لديهم 16 رقما.
  • JCB: ^ (؟: 2131 | 1800 | 35 d {3}) d {11} $ بطاقات JCB التي تبدأ ب 2131 أو 1800 لها 15 رقما. بطاقات JCB تبدأ بحجم 35 رقم 16 رقما.

وداعا.

أعتقد أنك تبحث عن خوارزمية لوهان. وبعد إنها صيغة المجموع الاختباري البسيطة المستخدمة للتحقق من عرض مجموعة متنوعة من أرقام التعريف.

هذا يعتمد على مدى دقة التي تريد التحقق منها مسبقا. للتحقق من صحة كل ما يمكنك، تحتاج إلى حساب ما يجب أن يكون الرقم الأخير من البطاقة ومقارنته بما يتم إدخاله، والتي لا يمكن أن تفعله Regex.

بالنسبة للخوارزمية وغيرها من التفاصيل هذا الرابط, والذي يوفر أيضا قائمة بادئة الأرقام المشتركة التي يمكنك التحقق منها مقابلها.

-- يحرر:

infact، سأختلف قليلا مع نفسي وأوافق مع كليتوس. التحقق من صحة قدر الإمكان (دون الدخول إلى تفاصيل أنواع معينة من بطاقات الائتمان [IMHO]) قبل إرسالها. وغني عن القول (نأمل)، أن هذا التحقق من الصحة يجب أن يتم في جافا سكريبت، لجعله سريعا، ثم على الخادم، للتحقق المزدوج (وللأفراد المعوقين JavaScript).

- الاستجابة السابقة:

لا تهتم. فقط دع المزود يتحقق منه عند محاولة الدفع في الواقع. لا يوجد سبب مشروع لمحاولة التحقق من ذلك بنفسك. يمكنك استخدام هذه رغم ذلك، إذا كنت تشعر حقا بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top