sedhossein / pregex
Recommended regex's For Persian/Farsi(fa) Language
Requires
- php: ^7.2
Requires (Dev)
- phpunit/phpunit: ^9
README
Quick Access
Introduction
If you having a Persian/Iranian project and need to validate your inputs this light library can help you. Pregex try to make a complete collection of Persian/Iranian validations to make it easy for you. Please kindly feeling free to get in touch with me for any idea you have, or open issue/PR to any bug reporting/fixing.
Requirements
- composer
- PHP 7.2 >=
How to use
Pregex prepared the bellow methods list to give you all you need for your validations.
use Sedhossein\Pregex\Pregex; $false = (new Pregex)->IsPersianOrArabicNumber("123456"); // False, cause `123456` are english numbers $true = (new Pregex)->IsPersianOrArabicNumber("۱۲۳۴۵۶"); // True, cause `123456` are persian numbers
You can see some more examples in ./examples/index.php
list of methods
function IsPersianNumber(string $number): bool;
IsPersianNumber
just validate persian alphabets(not arabic)
function IsArabicNumber(string $number): bool;
IsArabicNumber
just validate arabic alphabets(not persian)
function IsPersianOrArabicNumber(string $number): bool;
IsPersianOrArabicNumber
validate both Arabic and Persian alphabets. It can be useful when you need just Persian texts
and user keyboards maybe having different languages(iPhone keyboards, android keyboards or non-standard keyboards)
function IsEmail(string $email): bool;
IsEmail
validate emails! Just for getting Pregex more complete for our mission ;))
function IsCellphone(string $number): bool;
IsCellphone
validate persian cellphone numbers. Valid inputs can begin with +98{..}
, 98{..}
, 09{..}
, 9{..}
function IsIban(string $value): bool;
IsIban
or also Sheba
or International Bank Account Number (IBAN).
validate Iranian bank Ibans
function IsNationalCode(string $value): bool;
IsNationalCode
or also Melli Code!
validate Iranian national codes
function IsCardNumber(string $value): bool;
IsCardNumber
validate Iranian bank card numbers
function IsPostalCode(string $value): bool;
IsPostalCode
validate Iranian postal code numbers
function IsPersianText(string $value): bool;
IsPersianText
validate Iranian and some Arabic alphabets with some held in common writing signs.
How to install
Install Composer and run following command in your project's root directory:
composer require sedhossein/pregex
Run Tests
After installing Composer, Clone Pregex Repo and then go to project path(cd pregex
).
Now enter:
composer install
Now you fetch all of package dependencies, and you can run bellow command to run tests:
./vendor/phpunit/phpunit/phpunit --coverage-html ./build/tests/coverage.html
So after running above command you can see coverage report on ./build/tests/coverage.html
TODO list:
- Comparing with other libraries to add more features
license
Pregex is initially created by Sedhossein and released under the MIT License.