正規表現にアラビア文字、スペース、および数字のみを受け入れたい。
数字はアラビア語である必要はありません。
次の式を見つけました。
^[\u0621-\u064A]+$
アラビア文字、スペース、数字が必要なのに対し、アラビア文字のみを受け入れます。
文字クラスに1-9
(Unicode形式)を追加するだけです:
^[\u0621-\u064A0-9 ]+$
または、アラビア数字の 範囲である文字クラスに\u0660-\u0669
を追加します :
^[\u0621-\u064A\u0660-\u0669 ]+$
次を使用できます。
^[\u0621-\u064A\s\p{N}]+$
\p{N}
は、任意のUnicode数字と一致します。
ASCII数字のみを使用する場合:
^[\u0621-\u064A\s0-9]+$
EDIT:この正規表現を使用することをお勧めします:
^[\p{Arabic}\s\p{N}]+$
[ء-ي]を使用できます。javascriptJquery form.validationルールで機能しました。
私の例では、ユーザーに3文字を強制的に挿入させたい
[a-zA-Zء-ي]
たくさんの試行錯誤を重ねて、ペルシャの名前でこれを手に入れました:
[گچپژیلفقهمو ء-ي]+$
^[\u0621-\u064Aa-zA-Z\d\-_\s]+$
この正規表現は、アラビア文字、英語の文字、スペース、数字を受け入れる必要があります
シンプルで、次のコードを使用します。
^[-ۿ]+$
これは、アラビア語/ペルシャ語の偶数に対して機能します。
PHPでは、これを使用します。
preg_replace("/\p{Arabic}/u", 'x', 'abc123ابت');// will replace arabic letters with "x".
注:\p{Arabic}
アラビア文字に一致させるには、末尾にu
修飾子(ユニコード用)を渡す必要があります。
function HasArabicCharacters(string text)
{
var regex = new RegExp(
"[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");
return regex.test(text);
}