اعتبارسنجی سمت کاربر با استفاده از Regex
یکشنبه 12 مهر 1394در این مقاله قصد داریم علاوه بر آشنایی مختصری با حروف با قاعده در سی شارب به نحوه استفاده از این حروف در MVC نیز بپردازیم که درواقع یک« عبارت باقاعده » (regular expression) یا به اختصار 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; } }
موفق و پیروز باشید
- ASP.net MVC
- 2k بازدید
- 0 تشکر