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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...