سلام دوستان من میخام با کمک عبارات منظم شماره شبا و شماره کارت رو تشخیص بدم
شماره شبارو پترنشون در آوردم
ولی برای تشخیص شماره کارت دوباره شماره شبا رو هم میگیره چه کار کنم که شماره شب رو در نظر نگیره
تشخیص شماره کارت :
\\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
ممنون میشم دقیقتر بگید شما میخواید چک بشه کد موردی که وارد شده شماره شباس یا شماره کارت ؟
@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|/', ''
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟