e2f7157545 | ||
---|---|---|
.. | ||
EmailValidator | ||
LICENSE | ||
README.md | ||
composer.json | ||
phpunit.xml.dist |
README.md
EmailValidator
With the help of PHPStorm
Requirements
- Composer is required for installation
- Spoofchecking and DNSCheckValidation 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 implement 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.