jeronimofagundes / email-validator
一个针对多个RFC进行电子邮件验证的库
2.1.7
2018-12-04 22:38 UTC
Requires
- php: >= 5.5
- doctrine/lexer: ^1.0.1
Requires (Dev)
- dominicsayers/isemail: dev-master
- phpunit/phpunit: ^4.8.35||^5.7||^6.0
- satooshi/php-coveralls: ^1.0.1
Suggests
- ext-intl: PHP Internationalization Libraries are required to use the SpoofChecking validation
- dev-master
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.2.x-dev
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- dev-update-egulias
- dev-LeShadow-master
- dev-1_2_cyrillic_email
- dev-cyrillic_email
- dev-domain_back_slash
- dev-moving_tests_around
- dev-invalid_domains_and_backslash
- dev-v2-readme-changes
- dev-readme-updates-for-v2
- dev-62_validation_interface
- dev-66-custom-errors
This package is auto-updated.
Last update: 2024-10-01 00:10:16 UTC
README
支持的RFC
本库旨在支持
RFC 5321, 5322, 6530, 6531, 6532。
需求
- 安装需要Composer
- Spoofchecking和DNSCheckValidation验证需要您的PHP系统有PHP国际ization Libraries(也称为PHP Intl)
安装
运行以下命令通过Composer安装
composer require jeronimofagundes/email-validator "dev-master"
入门
EmailValidator
需要您为每个验证选择(或它们的组合)要遵循的验证/策略/策略。
使用RFC验证的基本示例
<?php use Egulias\EmailValidator\EmailValidator; use Egulias\EmailValidator\Validation\RFCValidation; $validator = new EmailValidator(); $validator->isValid("example@example.com", new RFCValidation()); //true
可用的验证
- RFCValidation:标准的类似RFC的电子邮件验证。
- NoRFCWarningsValidation:类似RFC的验证,当发现警告*时会失败。
- DNSCheckValidation:将检查是否存在DNS记录表明服务器接受电子邮件。这并不保证电子邮件存在。
- SpoofCheckValidation:将检查是否存在可能表示电子邮件名称错误的多UTF-8字符。
- MultipleValidationWithAnd:这是一个在其它验证之上执行逻辑与(&&&)操作的验证。
- DNSDigCheckValidation
- GMailValidation
- HotmailValidation
- 您的验证:您可以通过实现自己的验证来扩展库的行为。
*警告:警告是从RFC中偏离的地方,在更广泛的解释中是被接受的。
<?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() ]); //ietf.org has MX records signaling a server with email capabilites $validator->isValid("example@ietf.org", $multipleValidations); //true
如何扩展
这很容易!您只需要实现EmailValidation,然后就可以使用您自己的验证。
其他贡献者
(您可以在这里找到当前贡献者)
由于这是一个从另一个库和工作转换而来,以下是与之前版本有关的其他人
- Ricard Clau @ricardclau:与PHP内置filter_var的性能对比
- Josepf Bielawski @stloyd:为其第一次重构Dominic的lib
- Dominic Sayers @dominicsayers:原始的isemail函数
许可证
在MIT许可证下发布,与代码一起提供。