تشخیص شماره کارت وشماره شبا در یک رشته

PHP -
1 هفته پیش
توسط mamalheydar آپدیت شد
mamalheydar ( 1480 تجربه )
2 هفته پیش
تخصص : متخصص php , توسعه وب

سلام دوستان من میخام با کمک عبارات منظم شماره شبا و شماره کارت رو تشخیص بدم
شماره شبارو پترنشون در آوردم
ولی برای تشخیص شماره کارت دوباره شماره شبا رو هم میگیره چه کار کنم که شماره شب رو در نظر نگیره
تشخیص شماره کارت :

\\d{4}(\\s|.){0,2}\\d{4}(\\s|.){0,2}\\d{4}(\\s|.){0,2}\\d{4}(\\s|.){0,2}  

کد تشخیص شماره شبا :

(ir).{0,3}\[0-9\\s\]{24,30}

6037 9973 9503 0605  
IR520170000000110528698006
حسام موسوی ( 288154 تجربه )
1 هفته پیش
تخصص : طراح و برنامه نویس

ممنون میشم دقیق‌تر بگید شما میخواید چک بشه کد موردی که وارد شده شماره شباس یا شماره کارت ؟

mamalheydar ( 1480 تجربه )
1 هفته پیش
تخصص : متخصص php , توسعه وب

@hesammousavi
من مشکلم این بود که پترن مربوط به تشخیص شماره کارت شماره شبا رو هم match میکرد نهایتا پیدا کردم پترن صحیح رو اینجا میزارم بقیه هم استفاده کنن ممنون از شما

نهایتا پترن های صحیح به این شکل هستش :
پترن مربوط به تشخیص شماره شبا با تشخیص کاراکترهای خاص بین رشته وارد شده :

\b^(ir)(\:|\-|\s)?(\d|\s|\-){23,30}\b$

پترن مربوط به تشخیص به شماره کارت حتی اگر بین هر 4 رقم کاراکترهای خاص مثل دَش وارد کنن:

/\b^(\d{4}|(\d-?){4}|(\d\s?){4}){4}\b

حالا اگر خواستید این کاراکترهای خاص رو حذف کنید وبعد ذخیره کنید از این متد به این شکل استفاده کنید:

(preg_replace('/\s|:|-|ir|iR|Ir|IR|/', ''
برای ارسال پاسخ باید وارد سایت شوید