القائمة الرئيسية

الصفحات

التحقق من المدخلات Validation By RegularExpressions

 

 

السلام عليكم ورحمة الله وبركاته 


كنا شرحنا فى هذا الدرس طريقة عمل Email Validation by RegularExpressions عن عمل Validation للـ Email .

سنشرح فى هذا الدرس التحقق من المدخلات ايضا عن طريق  RegularExpressions 

لماذا  RegularExpressions  ؟
لأن التعابير النمطية -
RegularExpressions يمكن استخدامها مع لغات برمجة كثيرة وليست مقتصرة فقط على الدوت نت ومشاريع مختلفة سواء Desktop Or Web Or Samrt Phone

افتح مشروع جديد WindowsForm , وأضف فقط من الادوات TextBox

ايضا مثل الدرس نستورد مكتبة التعبيرات النمطية 


using System.Text.RegularExpressions;
 


الان سنكتب الانماط كلها فى مكان فارغ كـ متغيرات



 //لكتابة لغة عربية فقط
        string ArabicPattren = @"^[\u0600-\u06FF]+$";

        // لكتابة لغة انجليزية فقط
        string EnglishPattren = @"^[a-zA-Z0-9]*$";

        // لعدم كتابة أى ارقام 
        string NoNumberPattren = @"[^0-9]";

        // لكتابة ارقام فقط
        string JustNumberPattren = @"^-[0-9]+$|^[0-9]+$";
       

        // لكتابة رقم عشرى فقط
        string DecimalWithOneDotPattren = @"^(?=.*\d)\d*[\.\,]?\d*$";

        // لكتابة قيمتان فقط بعد الرقم العشرى
        string TwoValueAfterDecimalNumberPattren = @"^(\d+(\.\d{0,2})?|\.?\d{1,2})$";

 


أعلى كل Pattren تعليق لشرح عملها ، سنتخدم حدث TextChanged يمكنك استخدام أى حدث آخر كما تريد .

 


 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            Regex regx = new Regex(/* Enter Pattren Here */);
            if (!regx.IsMatch(textBox1.Text))
            {
                textBox1.Text = string.Empty;
            }
        }
 


استبدل فقط /* Enter Pattren Here */ من Pattrens المكتبوبه بالاعلى وحسب المطلوب استخدامه 

 ويمكن ايضا بدلا من افراغ TextBox وضع رسالة للمستخدم أو اشعار بالمطلوب

أحيانا نريد عند وضع المؤشر داخل TextBox تغير الغة من لوحة المفاتيح تلقائيا بدلا من Alt + Shift

 لعمل ذلك يمكنك استخدام الحدث Enter وجرب الكود التالى


 System.Globalization.CultureInfo TypeOfLanguage = new System.Globalization.CultureInfo("ar-eg");
            InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(TypeOfLanguage);
 

 يمكن استبدال ar-eg بـ en-us للكتابة باللغة الانجليزية

يوجد طريقة آخرى فى نفس الحدث Enter


InputLanguage.CurrentInputLanguage = InputLanguage.InstalledInputLanguages[1];
 

هنا  يستبدل الرقم 0 أو 1 للتبديل بين اللغات


تعليقات