السلام عليكم ورحمة الله وبركاته
كنا شرحنا فى هذا الدرس طريقة عمل 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 للتبديل بين اللغات
تعليقات
إرسال تعليق