Skip to content

A lightweight and powerful PHP package for any Persian regex

License

Notifications You must be signed in to change notification settings

sedhossein/pregex

Repository files navigation

Pregex: Claim any Persian|Iranian|Farsi|Arabic Regular Expressions that you need

Build Status Coverage Status Version Total Downloads Scrutinizer Code Quality License

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.