اعتبارسنجی سمت کاربر با استفاده از Regex

یکشنبه 12 مهر 1394

در این مقاله قصد داریم علاوه بر آشنایی مختصری با حروف با قاعده در سی شارب به نحوه استفاده از این حروف در MVC نیز بپردازیم که درواقع یک« عبارت باقاعده » (regular expression) یا به اختصار regex ،الگویی است که بخش معینی از متن را مشخص می کند.

اعتبارسنجی سمت کاربر با استفاده از  Regex

 RegularExpression چیست ؟

یک« عبارت باقاعده » (regular expression) یا به اختصار regex ،الگویی است که بخش معینی از متن را مشخص می کند.
یک عبارت باقاعده، که به الگو هم معروف است، عبارتی است که مجموعه ای از رشته های کاراکتری را توصیف می کند . عبارت باقاعده معمول توصیف دقیقی از یک مجموعه است، بدون اینکه نیاز باشد همه ی اعضای آن مجموعه ذکر شود

در این مقاله قصد داریم به نحوبررسی صحت Url(نحوه وارد کردن صحیح ادرس )  و ایمیل در MVC  با استفاده از حروف با قاعده بپردازیم

برای شروع یک پروژه از نوع MVC  ایجاد میکنیم

 

ابتدا روی مدل راست کلیک کرده و یک کلاس با اسم Person ایجاد میکنیم.

حال در کلاس زیر  3 فیلد به نام های ID ،Eamil،Url  برای بررسی صحت ایمیل و آدرس اینترنتی میگیریم

namespace WebApplication2.Models
{
    public class Person 
    {
        [Key]
        public int id { get; set; }
    
   [Display(Name="پست الکترونیکی")]
        public string Eamil { get; set; }


     [Display(Name = "آدرس الکترونیکی")]
        public string Url { get; set; }

      

      
    }
}

همان طور که از تصویر معلوم است روی  Controller. راست کلیک کرده وAddرا میزنیم و     یک  کنترلر.  ،از نوع   Controller with views, using Entity Framework MVC 5   ایجاد میکنیم.

حال از برنامه اجرا بگیرید

ما قصد داریم با استفاده از عبارت با قاعده به برسی صحت آدرس اینترنتی و ایمیل واردشده توسط کاربر بپردازیم برای استفاده از این حروف از کلمه کلیدی  RegularExpression  که به صورت صفت در MVC میباشند استفاده میکنیم

حال ابتدا آدرس رابررسی میکنیم

ما قصد داریم با حروف با قاعده کاربر را وادار به نوشتن http یا  www, یا http://www یا https:// کنیم در غیر اینصورت به کاربر اجازه وارد کردن اطلاعات را ندهد

برای این کار تغیراتی در مدل خود انجام میدهیم

  public class Person
    {
        [Key]
        public int id { get; set; }

        [Display(Name = "پست الکترونیکی")]
        public string Eamil { get; set; }


        [RegularExpression(@"\b\({0,1}(?<url>(http://|https:|http://www.|www.|ftp://)[^ ,""\s<)]*)\b", ErrorMessage = "لطفا ادرس معتبر وارد کنید  ")]
        [Display(Name = "آدرس الکترونیکی")]
        public string Url { get; set; }
    }
}

 

حال از برنامه اجرا بگرید.

حال برای بررسی ایمیل از عبارت با قاعده زیر استفاده مکنیم

  

      public class Person
    {
        [Key]
        public int id { get; set; }

        [Display(Name = "پست الکترونیکی")]
        [RegularExpression(@"\b(?<mail>[a-zA-Z_0-9.-]+\@[a-zA-Z_0-9.-]+\.\w+)\b",ErrorMessage = "ایمیل معتبر وارد کنید ")]
        public string Eamil { get; set; }


        [RegularExpression(@"\b\({0,1}(?<url>(http://|https:|http://www.|www.|ftp://)[^ ,""\s<)]*)\b", ErrorMessage = "لطفا ادرس معتبر وارد کنید  ")]
        [Display(Name = "آدرس الکترونیکی")]
        public string Url { get; set; }
    }

 

موفق و پیروز باشید

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید