开发者

How to validate hostname in Perl?

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](?:(?开发者_C百科:[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


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


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

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜