如何在 Perl 中验证主机名?

发布于 2024-09-05 05:49:10 字数 467 浏览 3 评论 0 原文

我需要想出一个正则表达式来验证主机名 RFC-1123RFC-952

现在我正在使用这个:

^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?)*\.?$/

但这并不能解决问题,因为它不会将 a. 捕获为无效主机名。

如何增强 reg 表达式以符合这些 RFC?

谢谢

I need to come up with a regular expression to validate hostname against
RFC-1123 and RFC-952.

Right now I'm using this:

^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?)*\.?$/

but this does not do the trick since it does not catch a. as invalid hostname.

How do I enhance the reg expression to comply with those RFCs?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尸血腥色 2024-09-12 05:49:10

Regexp::Common 包含一个 正则表达式RFC-1035 匹配,这足够好吗?

Regexp::Common contains a regex that matches against RFC-1035, is this good enough?

风情万种。 2024-09-12 05:49:10

我在 Data::Validate::Domain “http://search.cpan.org/search?query=RFC+1123&mode=all”rel="nofollow noreferrer">CPAN。

我还没有尝试过这个,但它看起来很有希望(有积极的评论等)。

I found Data::Validate::Domain on CPAN.

I have not tried this, but it looks promising (has positive reviews etc.).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文