在Web开发中,经常需要对用户输入的域名或邮箱地址进行验证,其中一个关键环节就是检查顶级域名(TLD)是否有效。手动维护一个最新的TLD列表非常麻烦,而且容易出错。arubacao/tld-checker 这个 Composer 包提供了一个优雅的解决方案,它能够根据 IANA 官方的 The DNS Root Zone 数据库来验证 TLD 的有效性。
通过这个库,你可以轻松验证域名和邮箱地址的 tld 部分,确保其符合规范。该库会将 iana 数据库存储在本地,并自动更新,保证 tld 列表始终是最新的。
安装
使用 Composer 安装 arubacao/tld-checker 非常简单:
<code class="bash">composer require arubacao/tld-checker</code>
Composer在线学习地址:学习地址用法
安装完成后,你可以使用 Arubacao\TldChecker\Validator 类中的静态方法来验证 TLD。
Validator::isTld(string $tld): 验证给定的字符串是否为有效的 TLD。<code class="php">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</code>Validator::endsWithTld(string $domain): 验证给定的字符串是否以有效的 TLD 结尾。<code class="php">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</code>Laravel 集成
如果你使用 Laravel 框架,arubacao/tld-checker 还提供了 Laravel Validator 的扩展,你可以直接在验证规则中使用 is_tld 和 ends_with_tld。
<code class="php">$request->validate([
'tld' => 'required|is_tld',
'email' => 'required|ends_with_tld'
]);</code>优势与应用
arubacao/tld-checker 的优势在于:
在实际应用中,arubacao/tld-checker 可以用于:
通过使用 arubacao/tld-checker,你可以避免手动维护 TLD 列表的麻烦,提高域名和邮箱地址验证的准确性和效率,从而提升用户体验和数据质量。
以上就是如何解决域名后缀验证难题?arubacao/tld-checker助你一臂之力的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号