View Full Version : سوال: RegularExpression فارسی
Iran58
دوشنبه 02 اسفند 1395, 15:01 عصر
سلام
من کد زیر را نوشته ام
[RegularExpression("[a-zA-Z0-9]{8,20}",ErrorMessage = "{0} از حروف و اعداد ومابین 8الی20 باشد")]
اما حروف فارسی را ساپورت نمی کند برای اینکه حروف فارسی را هم چک کند باید چکارکنم
باتشکر
developing
سه شنبه 03 اسفند 1395, 01:51 صبح
باسلام
برای اینکه بتوان از یونیکد (شامل زبان فارسی) در عبارت های باقاعده استفاده نمود باید به شکل زیر نوشت:
\uLetterCode که LetterCode همون یونیکد نویسه های مورد نظر شماست. برای مثال یونیکد نویسه ی «ا» به شکل U+0627 هست که در عبارت باقاعده +U اون رو حذف می کنیم.
برای نمونه:
عبارت باقاعده ی زیر واژه ی «احمد» رو در متن جستجو می کنه.
\u0627\u062D\u0645\u062F
برای همه ی نویسه های فارسی از [\u0622-\u0650] استفاده نمایید.
اعداد فارسی [\u06F0-\u06F9]
اعداد عربی [\u0660-\u0669]
کاف فارسی \u06A9
نویسه پ \u067E
نویسه گ \u06AF
نویسه ژ \u0698
نویسه چ \u0686
لینک های زیر می تونه به شما کمک کنه:
فهرست نویسه های یونیکد:
نویسه های یونیکد (http://www.utf8-chartable.de/unicode-utf8-table.pl?start=1280&number=1024)
آموزش، آزمون و منبع عبارت های باقاعده:
عبارت های باقاعده (http://regexr.com/)
امیدوارم مفید بوده باشد.
شاد و پیروز باشید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.