.. | ||
EmailValidator | ||
composer.json | ||
composer.lock | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md |
EmailValidator
With the help of PHPStorm
Requirements
- Composer is required for installation
- Spoofchecking validation requires that your PHP system have the PHP Internationalization Libraries (also known as PHP Intl)
Installation
Run the command below to install via Composer
composer require egulias/email-validator "~2.1"
Getting Started
EmailValidator
requires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each validation.
A basic example with the RFC validation
<?php
use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;
$validator = new EmailValidator();
$validator->isValid("example@example.com", new RFCValidation()); //true
Available validations
- RFCValidation
- NoRFCWarningsValidation
- DNSCheckValidation
- SpoofCheckValidation
- MultipleValidationWithAnd
- Your own validation
MultipleValidationWithAnd
It is a validation that operates over other validations performing a logical and (&&) over the result of each validation.
<?php
use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\DNSCheckValidation;
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
use Egulias\EmailValidator\Validation\RFCValidation;
$validator = new EmailValidator();
$multipleValidations = new MultipleValidationWithAnd([
new RFCValidation(),
new DNSCheckValidation()
]);
$validator->isValid("example@example.com", $multipleValidations); //true
How to extend
It's easy! You just need to extend EmailValidation and you can use your own validation.
Other Contributors
(You can find current contributors here)
As this is a port from another library and work, here are other people related to the previous one:
- Ricard Clau @ricardclau: Performance against PHP built-in filter_var
- Josepf Bielawski @stloyd: For its first re-work of Dominic's lib
- Dominic Sayers @dominicsayers: The original isemail function
License
Released under the MIT License attached with this code.