Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sedhossein/pregex
A lightweight and powerful PHP package for any Persian regex
https://github.com/sedhossein/pregex
laravel persian php php7 regex regexes validation-library
Last synced: about 5 hours ago
JSON representation
A lightweight and powerful PHP package for any Persian regex
- Host: GitHub
- URL: https://github.com/sedhossein/pregex
- Owner: sedhossein
- License: mit
- Created: 2018-11-25T09:44:06.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-09-08T18:36:47.000Z (about 4 years ago)
- Last Synced: 2024-04-17T18:20:30.129Z (7 months ago)
- Topics: laravel, persian, php, php7, regex, regexes, validation-library
- Language: PHP
- Homepage:
- Size: 85 KB
- Stars: 34
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## Pregex: Claim any Persian|Iranian|Farsi|Arabic Regular Expressions that you need
[![Build Status](https://travis-ci.org/sedhossein/pregex.svg?branch=master)](https://travis-ci.org/sedhossein/pregex)
[![Coverage Status](https://coveralls.io/repos/github/sedhossein/pregex/badge.svg?branch=master)](https://coveralls.io/github/sedhossein/pregex?branch=master)
[![Version](https://poser.pugx.org/sedhossein/pregex/version)](https://packagist.org/packages/sedhossein/pregex)
[![Total Downloads](https://poser.pugx.org/sedhossein/pregex/downloads)](https://packagist.org/packages/sedhossein/pregex)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/sedhossein/pregex/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/sedhossein/pregex/?branch=master)
[![License](https://poser.pugx.org/sedhossein/pregex/license)](//packagist.org/packages/sedhossein/pregex)## Quick Access
- [Introduction](#introduction)
- [Requirements](#requirements)
- [How to use](#how-to-use)
- [List of methods](#list-of-methods)
- [Installation](#how-to-install)
- [Run Tests](#run-tests)
- [TODO list](#todo-list)
- [License](#license)### 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.```php
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
```php
function IsPersianNumber(string $number): bool;
```
`IsPersianNumber` just validate persian alphabets(not arabic)---
```php
function IsArabicNumber(string $number): bool;
```
`IsArabicNumber` just validate arabic alphabets(not persian)---
```php
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)---
```php
function IsEmail(string $email): bool;
```
`IsEmail` validate emails! Just for getting Pregex more complete for our mission ;))---
```php
function IsCellphone(string $number): bool;
```
`IsCellphone` validate persian cellphone numbers. Valid inputs can begin with `+98{..}`, `98{..}`, `09{..}`, `9{..}`---
```php
function IsIban(string $value): bool;
```
`IsIban` or also `Sheba` or `International Bank Account Number (IBAN).` validate Iranian bank Ibans---
```php
function IsNationalCode(string $value): bool;
```
`IsNationalCode` or also `Melli Code!` validate Iranian national codes---
```php
function IsCardNumber(string $value): bool;
```
`IsCardNumber` validate Iranian bank card numbers---
```php
function IsPostalCode(string $value): bool;
```
`IsPostalCode` validate Iranian postal code numbers---
```php
function IsPersianText(string $value): bool;
```
`IsPersianText` validate Iranian and some Arabic alphabets with some held in common writing signs.### How to install
Install [Composer](https://getcomposer.org) and run following command in your project's root directory:
```bash
composer require sedhossein/pregex
```### Run Tests
After installing [Composer](https://getcomposer.org), Clone Pregex Repo and then go to project path(`cd pregex`).
Now enter:
```bash
composer install
```
Now you fetch all of package dependencies, and you can run bellow command to run tests:
```bash
./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](https://sedhossein.dev) and released under the [MIT License](http://opensource.org/licenses/mit-license.php).