Wyrażenie regularne tylko znaki i cyfry arabskie

Chcę, aby Wyrażenie regularne przyjmowało tylko znaki arabskie, spacje i liczby .

Liczby nie muszą być w języku arabskim.

Znalazłem następujące wyrażenie:

^[\u0621-\u064A]+$

Który akceptuje tylko znaki arabskie, a ja potrzebuję znaków arabskich, spacji i cyfr.

Author: Kasrâmvd, 2015-04-19

8 answers

Po prostu dodaj 1-9 (w formacie Unicode) do swojej klasy znaków:

^[\u0621-\u064A0-9 ]+$

Lub dodać \u0660-\u0669 do klasy znaków, która jest przedziałem liczb arabskich :

^[\u0621-\u064A\u0660-\u0669 ]+$
 24
Author: Kasrâmvd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-24 11:39:48

Możesz użyć:

^[\u0621-\u064A\s\p{N}]+$

\p{N} pasuje do dowolnej cyfry unicode.

Aby dopasować tylko cyfrę ASCII użyj:

^[\u0621-\u064A\s0-9]+$

EDIT: lepiej użyć tego wyrażenia regularnego:

^[\p{Arabic}\s\p{N}]+$

Regex Demo

 11
Author: anubhava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-19 12:42:04

Możesz użyć [ء-ي] to działało dla mnie w JavaScript jQuery forme.validate rules

Dla mojego przykładu chcę zmusić użytkownika do wstawienia 3 znaków

[a-zA-Zء-ي]

 8
Author: Abdelwahid Oubaalla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 13:56:10

Użyj tego

[\u0600-\u06FF]

To działało dla mnie w visual studio

Tutaj wpisz opis obrazka

 5
Author: Basheer AL-MOMANI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-31 10:24:30
function HasArabicCharacters(string text)

{

    var regex = new RegExp(

        "[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");

    return regex.test(text);
}
 0
Author: saghar.fadaei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-23 10:13:05

W PHP użyj tego:

preg_replace("/\p{Arabic}/u", 'x', 'abc123ابت');// will replace arabic letters with "x".

Uwaga: aby \p{Arabic} pasowały do liter arabskich, musisz na końcu podać modyfikator u (dla unicode).

 0
Author: evilReiko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-11 09:24:39

Przy wielu próbach i edycjach mam to dla perskich nazw:

[گچپژیلفقهمو ء-ي]+$
 0
Author: Saman Sattari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-16 06:39:24
[\p{IsArabic}-[\D]]

Znak arabski, który nie jest cyfrą

 -1
Author: Yusuf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-23 20:57:26