如何解决域名后缀验证难题?arubacao/tld-checker助你一臂之力

在Web开发中,经常需要对用户输入的域名或邮箱地址进行验证,其中一个关键环节就是检查顶级域名(TLD)是否有效。手动维护一个最新的TLD列表非常麻烦,而且容易出错。arubacao/tld-checker 这个 Composer 包提供了一个优雅的解决方案,它能够根据 IANA 官方的 The DNS Root Zone 数据库来验证 TLD 的有效性。

通过这个库,你可以轻松验证域名和邮箱地址的 tld 部分,确保其符合规范。该库会将 iana 数据库存储在本地,并自动更新,保证 tld 列表始终是最新的。

安装

使用 Composer 安装 arubacao/tld-checker 非常简单:

composer require arubacao/tld-checker

Composer在线学习地址:学习地址用法

安装完成后,你可以使用 Arubacao\TldChecker\Validator 类中的静态方法来验证 TLD。

  • Validator::isTld(string $tld): 验证给定的字符串是否为有效的 TLD。
use Arubacao\TldChecker\Validator;

Validator::isTld('com');        // true
Validator::isTld('CN');         // true (大小写不敏感)
Validator::isTld('москва');     // true (支持国际化域名 IDN | unicode)
Validator::isTld('XN--CZRS0T'); // true (支持编码后的 IDN | 商店)
Validator::isTld('.org');       // true (允许带点前缀)
Validator::isTld('apricot');    // false
  • Validator::endsWithTld(string $domain): 验证给定的字符串是否以有效的 TLD 结尾。
use Arubacao\TldChecker\Validator;

Validator::endsWithTld('apple.com');                            // true
Validator::endsWithTld('NEWS.CN');                              // true (大小写不敏感)
Validator::endsWithTld('müller.vermögensberater');              // true (支持国际化域名 IDN | unicode)
Validator::endsWithTld('xn--mller-kva.xn--vermgensberater-ctb');// true (支持编码后的 IDN | müller.vermögensberater)
Validator::endsWithTld('farming.apricot');                      // false

Lar*el 集成

JoyPix AI JoyPix AI

轻松制作AI视频、AI数字人,支持文生视频、声音克隆

JoyPix AI 243 查看详情 JoyPix AI

如果你使用 Lar*el 框架,arubacao/tld-checker 还提供了 Lar*el Validator 的扩展,你可以直接在验证规则中使用 is_tldends_with_tld

$request->validate([
    'tld' => 'required|is_tld',
    'email' => 'required|ends_with_tld'
]);

优势与应用

arubacao/tld-checker 的优势在于:

  • 准确性:基于 IANA 官方数据库,保证 TLD 列表的准确性。
  • 自动更新:自动更新数据库,无需手动维护。
  • 易于使用:简单的 API,方便集成到项目中。
  • 国际化支持:支持国际化域名(IDN)。

在实际应用中,arubacao/tld-checker 可以用于:

  • 用户注册:验证用户注册时填写的邮箱地址和域名是否有效。
  • 表单验证:在表单提交前验证域名和邮箱地址的格式。
  • 数据清洗:清理数据库中无效的域名和邮箱地址。

通过使用 arubacao/tld-checker,你可以避免手动维护 TLD 列表的麻烦,提高域名和邮箱地址验证的准确性和效率,从而提升用户体验和数据质量。

以上就是如何解决域名后缀验证难题?arubacao/tld-checker助你一臂之力的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。