حبيت أقدم لكم بعض التعبيرات المنطقية المستخدمة في البرمجة الملائمة للغات PHP و Javascript و Perl
التعبيرات المنتظمة Regular Expression
التعابير النمطية هي أسلوب لوصف النصوص والتعرف عليها بطريق وصف مكوناتها من رموز، ووصف علاقات تلك الرموز من توال وتكرار، وذلك بكيفية نظامية يمكن لخوارزمية أن تفسرها وتطبقها على نص مُعطى لاستخراج الجزء المنطبق عليه التعبير النمطي.
تستخدم التعابير النمطية في الحوسبة لمعالجة النصوص وفي مولدات مفسرات لغات البرمجة ولتدقيق مُدخلات البرمجيات، وتوجد تطبيقات لها في معظم لغات البرمجة.
وهي تقوم بمطابقة حالة الاحرف الخاصة بالتعبيرات القياسية ( المنطقية. Regex )
اختصارا regex او regexp
ونستخدم ذلك التعبير كصورة مجردة للتعبير عن نص معين
سبب الأهمية
البحث عن مقطع معين بصورة معينة .. على سبيل المثال البحث عن الروابط او الصور فى صفحة ويب معينة وربما امكانية تحديث ذلك المقطع بإستبدال جزء من العنوان وحتي ربما التأكد من صحة نص معين ك أي بي او ايميل او موقع انترنت
التعبيرات المنطقية
Perl and PHP Regular Expressions
بسم الله الرحمن الرحيم
جميع بطاقات الائتمان الرئيسية
هذا التعبير المنطقي سوف يتحقق من صيغ جميع بطاقات الائتمان الرئيسية ( أمريكان اكسبريس amex , فيزا , ماستر كارد , ديسكوفر discover
التحقق من الأحرف الأبجدية والرقميةكود://All major credit cards regex '/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/'
اختبار تحقق الاحرف الابجدية والرقمية
أحرف أبجدية رقمية مع وجود المسافاتكود://Alpha-numeric characters only '/^[a-zA-Z0-9]*$/'
اختبار تحقق الأحرف الأبجدية والرقمية مع وجود مسافات
تحقق الأحرف الأبجدية فقطكود://Alpha-numeric characters with spaces only '/^[a-zA-Z0-9 ]*$/'
هذا التعبير المنطقي يختبر حالة الأحرف الأبجدية فقط (الكبيرة منها والصغيرة)
تحقق بطاقة ائتمان امريكان اكسبريس فقطكود://Alphabetic characters only '/^[a-zA-Z]*$/'
التعبير المنطقي لصنايق البريد الاستراليةكود://Amex credit card regex '/^(3[47][0-9]{13})*$/'
التعبير المنطقي لصنايق البريد الكنديةكود://Australian Postal Codes '/^((0[289][0-9]{2})|([1345689][0-9]{3})|(2[0-8][0-9]{2})|(290[0-9])|(291[0-4])|(7[0-4][0-9]{2})|(7[8-9][0-9]{2}))*$/'
نفس اختبار تحقق التعبير المنطقي السابق لكن لصناديق البريد الكندية
التعبير المنطقي للتحقق من المقاطعات الكنديةكود://Canadian Postal Codes '/^([ABCEGHJKLMNPRSTVXY][0-9][A-Z] [0-9][A-Z][0-9])*$/'
يقوم هذا التعبير المنطقي بالتحقق من مطابقة المقاطعات والولايات الكندية
التعبير المنطقي للتحقق من الولايات الأمريكيةكود://Canadian Province Abbreviations '/^(?:AB|BC|MB|N[BLTSU]|ON|PE|QC|SK|YT)*$/'
يقوم هذا التعبير المنطقي بالتحقق من مطابقة الولايات الأمريكية
التعبير المنطقي من التاريخ شهر/يوم/سنةكود://US States regex '/^(?:A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])*$/'
تحقق من صحة تاريخ التقويم في MM / DD / YYYY ، تقتصر السنوات ما بين 1900 و 2099
التعبير المنطقي من التاريخ عكسيكود://Date (MM/DD/YYYY) '/^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/'
تحقق من صحة تاريخ التقويم في YYYY/MM/DD ، تقتصر السنوات ما بين 1900 و 2099 تطبيق عكس الكود السابق له بالأعلى
تعبير التحقق من الأرقام فقطكود://Date (YYYY/MM/DD) '#^((19|20)?[0-9]{2}[- /.](0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01]))*$#'
هذا الأختبار للتحقق من الأرقام فقط (جميع الأرقام)
تعبير التحقق البريد الالكتروني (الايميل)كود://Digits only '/^[0-9]*$/'
هذا الكود للتحقق من البريد الالكتروني (أغلب أنواع الايميلات) ، هو ليس متوافق بالكامل مع جميع الإيميلات لكن سوف يتحقق من أغلبها بالطبع. راجع RFC5322-compliant
تعبير التحقق من الأي بي IP Addressكود://Email regex '/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/'
اختبار عناوين IP مع هذا التعبير العادي
تعبير التحقق من الأحرف الأبجدية الانجليزية الصغيرةكود://IP address regex '/^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$/'
وهذا الكود لاختبار تحقق الأحرف الأبجدية الانجليزية ومطابقتها ( الصغيرة منها فقط )
تعبير التحقق من مطابقة بطاقة ائتمان ماستر كارد فقطكود://Lowercase letters only '/^([a-z])*$/'
تعبير التحقق من مطابقة بطاقة ائتمان فيزا كارد فقطكود://MasterCard credit card numbers '/^(5[1-5][0-9]{14})*$/'
تعبير تحقق لكلمات المرور القويةكود://Visa credit card numbers '/^(4[0-9]{12}(?:[0-9]{3})?)*$/'
اختبار قوي للتحقق ووضع كلمة مرور قوية ( يجب أن تحتوي على حرف صغير وحرف كبير مع رقم ، ولا يقبل أقل من كلمة مرور مكونة من 6 )
تعبير تحقق لأرقام تليفونات أمريكا الشماليةكود://Password regex '/^(?=^.{6,}$)((?=.*[A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z]))^.*$/'
التحقق من صحة أرقام الهاتف 10-أمريكا الشمالية العدد. ليس مطلوب فواصل، ولكن يمكن أن تشمل المسافات أو أقواس
أرقام الضمان الاجتماعي SSN Numberكود://Phone number regex '/^((([0-9]{1})*[- .(]*([0-9]{3})[- .)]*[0-9]{3}[- .]*[0-9]{4})+)*$/'
إذا كنت في حاجة للتحقق من صحة أرقام الضمان الاجتماعي الأمريكي، استخدم هذا التعبير العادي
الرمز البريدي الانجليزي UKكود://SSN regex '/^([0-9]{3}[-]*[0-9]{2}[-]*[0-9]{4})*$/'
هذا التعبير المنطقي يتحقق من شكل صناديق البريد داخل المملكة المتحدة
تعبير التحقق من الأحرف الأبجدية الانجليزية الكبيرةكود://UK Postal Codes regex '/^([A-Z]{1,2}[0-9][A-Z0-9]? [0-9][ABD-HJLNP-UW-Z]{2})*$/'
وهذا الكود لاختبار تحقق الأحرف الأبجدية الانجليزية ومطابقتها ( الكبيرة منها فقط )
التحقق من الرابط التشعبي الصحيح URLكود://Uppercase letters only '/^([A-Z])*$/'
وهذا الكود يتحقق من مطابقة العنوان الالكتروني URL بشكل صحيح
التحقق من الرمز البريدي داخل الولايات المتحدة URLكود://URL regex '/^(((http|https|ftp):\/\/)?([[a-zA-Z0-9]\-\.])+(\.)([[a-zA-Z0-9]]){2,4}([[a-zA-Z0-9]\/+=%&_\.~?\-]*))*$/'
التعبيرات المنطقية للغة جافا سكريبتكود://US ZIP Codes regex '/^([0-9]{5}(?:-[0-9]{4})?)*$/'
كل صيغ كروت الائتمان
اختبار تحقق كل الاحرف الابجدية والرقميةكود://All major credit cards JavaScript regex '^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$'
كود://JavaScript alpha-numeric characters only '^[a-zA-Z0-9]+$'
الأحرف الأبجدية فقط
الرمز البريدي الكنديكود://JavaScript Alphabetic characters only '^[a-zA-Z]+$'
صيغة التاريخ شهر/يوم/سنةكود://JavaScript Canadian Postal Codes '^[ABCEGHJKLMNPRSTVXY][0-9][A-Z] [0-9][A-Z][0-9]$'
صيغة التاريخ عكس سنة/شهر/يومكود://JavaScript Date (MM/DD/YYYY) '^(0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2}$'
صيغة الأرقام فقطكود://JavaScript Date (YYYY/MM/DD) '^(19|20)?[0-9]{2}[- /.](0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])$'
صيغة الايميلات الصحيحةكود://JavaScript digits only '^[0-9]+$'
صيغة كلمة مرور قويةكود://JavaScript email regex '^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'
تحتوي على حرف كبير وحرف صغير ورقم (غير مقبول أقل من 6 احرف لكلمة المرور)
أرقام الهواتف شمال أمريكاكود://JavaScript Password regex "(?=^.{6,}$)((?=.*[A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z]))^.*"
عناوين المواقع الصحيحة URLكود://JavaScript phone number regex '^(([0-9]{1})*[- .(]*([0-9]{3})[- .)]*[0-9]{3}[- .]*[0-9]{4})+$'
صناديق بريد الولايات المتحدة ZIP Codeكود://JavaScript URL regex '^((http|https|ftp)://)?([[a-zA-Z0-9]\-\.])+(\.)([[a-zA-Z0-9]]){2,4}([[a-zA-Z0-9]/+=%&_\.~?\-]*)$'
أتمنى أن تفيدكم هذه المكتبة البسيطة ، في حالة طلب أي كود تعبير منطقي معين اخبرنا به فقد نستطيع مساعدتككود://JavaScript US ZIP Codes regex '^[0-9]{5}(?:-[0-9]{4})?$'
مترجم بتصرف
ولكم جزيل الشكر
أجمل تحية



رد مع اقتباس
