PDA

View Full Version : سوال: regex برای فیلتر حروف فارسی



usb.mini
چهارشنبه 08 مرداد 1393, 16:26 عصر
از این دو regex کدوم یکی صحیح تره؟ در هر دو حروف فارسی تایید میشه. اما اگر کاربر حروف فارسی+عدد و یا حروف فارسی +انگلیسی وارد کنه بازم تایید میشه. چطور regex رو فقط و فقط برای حروف فارسی بنویسم؟ نمونه اگر ارائه بدین بسیار ممنون میشم



preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/",$name)

یا

preg_match('/^[^\x{600}-\x{6FF}]+$/u',$name)

abolfazl-z
چهارشنبه 08 مرداد 1393, 17:44 عصر
دومی صحیح تر هست.

اولی هم بصورت ذیل کار می کند :


var_dump(preg_match('/^[آابپتثجچحخدذرزژسشصضطظعغفق کگلمنوهی ]+$/','سلام خوبی'));

usb.mini
چهارشنبه 08 مرداد 1393, 18:00 عصر
منبعی برای یادگیری نحوه نوشتن regex لطفا معرفی کنید؟

abolfazl-z
چهارشنبه 08 مرداد 1393, 22:15 عصر
en:
http://www.php.net/manual/en/reference.pcre.pattern.syntax.php
http://www.phpro.org/tutorials/Introduction-to-PHP-Regex.html
http://weblogtoolscollection.com/regex/regex.php
http://overapi.com/regex/
http://www.rexegg.com/regex-disambiguation.html
http://www.regexr.com/
--------------------------------
fa :
http://aqlinux.ir/files/regex.pdf
http://barnamenevis.org/showthread.php?358191-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D8%B1%DA%AF%D9%88%D9%84%D8%A7%D8%B1-%D8%A7%DA%A9%D8%B3%D9%BE%D8%B1%D8%B4%D9%86-Regular-expression