在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在线学习地址:学习地址用法
安装完成后,你可以使用 ArubacaoTldCheckerValidator 类中的静态方法来验证 TLD。
Validator::isTld(string $tld): 验证给定的字符串是否为有效的 TLD。
use ArubacaoTldCheckerValidator;Validator::isTld('com'); // trueValidator::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 ArubacaoTldCheckerValidator;Validator::endsWithTld('apple.com'); // trueValidator::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
Laravel 集成
奇域
奇域是一个专注于中式美学的国风AI绘画创作平台
30 查看详情
如果你使用 Laravel 框架,arubacao/tld-checker 还提供了 Laravel Validator 的扩展,你可以直接在验证规则中使用 is_tld 和 ends_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助你一臂之力的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/608654.html
微信扫一扫
支付宝扫一扫