EmailValidator

PHP Email address validator library inspired in @dominicsayers isemail function https://github.com/dominicsayers/isemail

Github stars Tracking Chart

EmailValidator

Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight

Suported RFCs

This library aims to support:

RFC 5321, 5322, 6530, 6531, 6532.

Requirements

Installation

Run the command below to install via Composer

composer require egulias/email-validator

Getting Started

EmailValidatorrequires 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

  1. RFCValidation
  2. NoRFCWarningsValidation
  3. DNSCheckValidation
  4. SpoofCheckValidation
  5. MultipleValidationWithAnd
  6. 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.

Main metrics

Overview
Name With Owneregulias/EmailValidator
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2013-05-19 15:23:00
Pushed At2025-03-20 21:39:01
Last Commit At2020-12-29 17:50:06
Release Count66
Last Release Name4.0.4 (Posted on )
First Release Name1.0.0 (Posted on 2013-05-19 19:39:13)
用户参与
Stargazers Count11.6k
Watchers Count35
Fork Count223
Commits Count396
Has Issues Enabled
Issues Count201
Issue Open Count27
Pull Requests Count168
Pull Requests Open Count7
Pull Requests Close Count35
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private