3

私は正規表現が非常に苦手で、残念ながら、これを知っていれば本当にいいと思っています。正規表現へのアラビア語サポートの埋め込みの概要を示す次の関数があります。

function alpha_dash($str)
{
   return ( ! preg_match("/^[\-_ \d\p{Arabic}]*\p{Arabic}[\d\p{Arabic}]*$/ui", $str)) ? FALSE : TRUE;
} 

これで、ここから対処できます。Alpha と Alpha 数値関数の同じサポートが必要です。私はいつも物事を分解するので、正規表現をいじることは本当にできません。

誰かが本当に助けてくれることを願っています:)

編集:

public function alpha($str)
    {
        return ( ! preg_match("/^([a-z])+$/i", $str)) ? FALSE : TRUE;
    }


public function alpha_numeric($str)
    {
        return ( ! preg_match("/^([a-z0-9])+$/i", $str)) ? FALSE : TRUE;
    }

アラビア語をサポートするには、これら 2 つの関数が必要です

4

2 に答える 2

1

私はMY_Form_validationライブラリにこのコードを持っています

   public function alpha_ar($str) {
    $str = (strtolower($this->CI->config->item('charset')) != 'utf-8') ? utf8_encode($str) : $str;
    return (!preg_match("/^([إد ج ح خ ه ع غ ف ق ث ص ض ط ك م ن ت ا أ ل ب ي س ش ظ ز و ة ى لا ر ؤ ء ئ ذ])+$/i", $str)) ? FALSE : TRUE;
}
于 2014-03-01T13:00:27.860 に答える
1

まあ、正規表現に関するPHP Webサイトで見つけたドキュメントによると、これはうまくいくはずです:

public function alpha($str)
{
    return ( ! preg_match('/^([a-z]|\p{Arabic})+$/iu', $str)) ? FALSE : TRUE;
} 

public function alpha_numeric($str)
{
    return ( ! preg_match('/^([a-z0-9]|\p{Arabic})+$/iu', $str)) ? FALSE : TRUE;
}

これを使用すると、alpha+arabic または alphanum + arabic に一致するはずです。試してみる。ただし、スイッチを使用してPCREをコンパイルする必要があると思いますが--enable-unicode-properties、これを確認するかどうかはわかりません。

于 2013-06-18T14:34:22.567 に答える