using preg_match to detect persian (farsi) characters in string

前端 未结 4 1485
庸人自扰
庸人自扰 2020-12-14 20:12

I am trying to validate form data from server-side. my interest is that the user just fill the form by Persian characters.

I am using this code:

$na         


        
相关标签:
4条回答
  • 2020-12-14 20:35

    This 'should' work...

    ** added a ^ after the opening [ to exclude arabic/farsi characters from the match...

    if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))
    
    0 讨论(0)
  • 2020-12-14 20:46

    this regex:

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

    included numbers and space?

    0 讨论(0)
  • 2020-12-14 20:48

    You should use this:

    if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))
    
    0 讨论(0)
  • 2020-12-14 20:49

    http://utf8-chartable.de/unicode-utf8-table.pl?start=1536&number=1024&utf8=0x&addlinks=1&htmlent=1

    پژگچ in 600 - 6FF range

    fa only:

    preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $input);
    

    en , en-num and fa character:

     preg_match('/^([a-zA-Z0-9 پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ])+$/u', $input);
    

    you can set fa-numbers or arabic ي ك

    0 讨论(0)
提交回复
热议问题