Validate a hostname string

后端 未结 10 1548
生来不讨喜
生来不讨喜 2020-12-04 13:24

Following up to Regular expression to match hostname or IP Address? and using Restrictions on valid host names as a reference, what is the most readable, concise way to matc

10条回答
  •  隐瞒了意图╮
    2020-12-04 14:15

    def is_valid_host(host):
        '''IDN compatible domain validator'''
        host = host.encode('idna').lower()
        if not hasattr(is_valid_host, '_re'):
            import re
            is_valid_host._re = re.compile(r'^([0-9a-z][-\w]*[0-9a-z]\.)+[a-z0-9\-]{2,15}$')
        return bool(is_valid_host._re.match(host))
    

提交回复
热议问题