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.
- composer
- PHP 7.2 >=
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 numbersYou can see some more examples in ./examples/index.php
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.
Install Composer and run following command in your project's root directory:
composer require sedhossein/pregexAfter installing Composer, Clone Pregex Repo and then go to project path(cd pregex).
Now enter:
composer installNow you fetch all of package dependencies, and you can run bellow command to run tests:
./vendor/phpunit/phpunit/phpunit --coverage-html ./build/tests/coverage.htmlSo after running above command you can see coverage report on ./build/tests/coverage.html
- Comparing with other libraries to add more features
Pregex is initially created by Sedhossein and released under the MIT License.
