sedhossein/pregex

Recommended regex's For Persian/Farsi(fa) Language

v1.2.0 2020-09-04 09:43 UTC

This package is auto-updated.

Last update: 2024-05-09 02:54:08 UTC


README

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.