【代码】正则表达式匹配域名,包含二级域名

2024-09-17 00:26:31  阅读 387 次 评论 0 条

直接上正则:

^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$


这个正则表达式可以匹配以下形式的域名:

1、子域名(例如 sub.example.com

2、根域名(例如 example.com

解析:

1、^(?: ... )+$:整个正则表达式的开始和结束,确保匹配整个字符串。

2、[a-zA-Z0-9]:域名的字符必须以字母或数字开头。

3、(?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?:后续字符可以是字母、数字或短横线,短横线不能出现在开始或结束的位置,且最大长度为63个字符(这是域名的一部分长度限制)。

4、\.:点(.)用来分隔不同的域名部分。

5、[a-zA-Z]{2,}:顶级域名部分,必须至少由两个字母组成(例如 .com、.org、.net)


需要注意:

1、域名的最大长度是253个字符,这个没做判断

2、域名首位和末尾不能是连接线,也就是“-”,也没做判断,实在有点烧脑,做不来了><


微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=2244
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

发表评论


表情

还没有留言,还不快点抢沙发?