Thursday, May 3, 2018

كيفية التحقق من إن كان IBAN صحيح أم لا باستخدام بايثون

اتبع الخطوات التالية : (خطوات الفحص موجودة في ويكيبيديا) 
  1. اختبر إذا كان طول IBAN ما بين 14 و 35 
  2. انقل الحروف الأربعة الأولى إلى نهاية الرقم
  3. قم بتغيير كل حرف في سلسلة الأيبان برقمين، مثلا A نقوم بتغييرها إلى 10 و B إلى 11 وهكذا و ..... Z إلى 35
  4. قم بترجمة الناتج كرقم واحد ثم اختبر باقي قسمة هذا الرقم على 97 ، إذا كان الباقي 1 فإن السلسلة هي سلسلة أيبان وإلا فإن الأيبان غير صحيح. 
مثال : اختبار إن كانت سلسلة الإيبان الآتية صحيحة
  • الأيبان : GB82 WEST 1234 5698 7654 32
  • أعد الترتيب: W E S T12345698765432 G B82
  • حول إلى رقم : 3214282912345698765432161182
  • احسب باقي القسمة: 
    3214282912345698765432161182mod 97 = 1
قمت بتصميم كود البايثون التالي لعمل ذلك
United_Kingdom="GB29 NWBK 6016 1331 9268 19"
iban=United_Kingdom
iban=iban.replace(" ","")
if len(iban)>31 or len(iban) <15:
print("Invalid length of the IBAN")
else:
iban=(iban[4:]+iban[0:4]).upper()
iban2=''
for ch in iban:
if ch.isdigit():
iban2 += ch
else:
iban2 += str(ord(ch)-ord('A')+10)
ibann=int(iban2)
if ibann % 97 == 1 :
print("Valid IBAN")
else:
print("Invalid IBAN, sorry")


تحياتي
د. أسامة حسام الدين




No comments:

Post a Comment