اذهب إلى المحتوى

السؤال

نشر

أريد اخفاء بعض الأرقام من الرقم التسلسلي لبطاقة مصرفية باستعمال دالة php، كما هو موضح في المثال التالي:

$serialNumber = 1234123412341234

echo cc_masking($serialNumber)

1234XXXXXXXX1234

function cc_masking($number) {.....}

أريد إظهار الأربع أرقام الأولى والأخيرة فقط، كيف أفعل ذلك؟

Recommended Posts

  • 0
نشر

الدالة substr هي المناسبة في هذه الحالة،حيث تستعمل لاستخراج عدد معين من الأحرف ابتداء من مكان معين، ويمكن استعمالها بعدة طرق:

echo substr('abcdef', 1, 3);  // bcd يكون الخارج هو 

حيث 1 هو ترتيب الحرف الذي ستبدأ منه -الترتيب يبدأ من 0 -، و 3 هو عدد الأحرف المستخرجة.

وأيضا:

$rest = substr("abcdef", -1);    //   "f" الخارج هو الحرف 

في هذه الحالة استخدمنا 1 - للبداية من نهاية الجملة، أي حرف واحد ابداءً من نهاية الجملة.

الدالة str_repeat لتكرار حرف أو كلمة عدة مرات.

echo str_repeat("-=", 10); // 
-=-=-=-=-=-=-=-=-=-= // يكون الخارج هو

 والدالة :

strlen: لمعرفة طول الكلمة، أي عدد الاحرف المكونة لها.

فيكون الحل هو :

function ccMasking($number, $maskingCharacter = 'X') {
    return substr($number, 0, 4) . str_repeat($maskingCharacter, strlen($number) - 8) . substr($number, -4);
}
//1234XXXXXXXX1234

مصدر 1

مصدر 2

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...