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

كيف يمكن تحقيق شرط القيمة اكبر من 18 عن طريق regex في PHP

اية اية3

السؤال

Recommended Posts

  • 0

لما قد تستخدمين التعابير النمطية لذلك؟ يمكن عن طريق عبارة شرطية بسيطة التحقق من ذلك. لاحظي: 

<?php 

$num = 18;

$isGreaterThan18 = $num >= 18 ? true : false;

echo $isGreaterThan18;

لاحظي استعمال المعامل الثلاثي Ternary operator. 

ان كان لا بد من استخدام التعابير النمطية يمكنك الاستفادة من هذا التعبير:

^0?1[89]|0?[2-9][0-9]$

الذي يشمل الاعداد من 18 الى 99. 

شرح التعبير:

  • ^ بداية التعبير
  • 0؟ قبول ان تكون بداية السلسلة النصية 0 على نحو 068 او 018 
  • 1[89] تقبل ان يكون المحرف الاول 1 والثاني 8 او 9 اي قبول 18 و 19 و أيضا 018 و 019 
  • | أو 
  • [2-9][0-9] ان يكون المحرف الاول ما بين 2 و 9 والثاني ما بين 0 و 9 على نحو 24 و 20 و 45 وغيرها 
  • $ نهاية التعبير

فيما يلي استعماله بشكل عملي: 

$regex = "~^(^0?1[89]|0?[2-9][0-9]$)$~";


echo preg_match($regex ,80); // true
echo preg_match($regex ,16); // false

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...