Fully qualified domain name validation

后端 未结 6 1053
醉话见心
醉话见心 2020-11-28 06:05

Is there a quick and dirty way to validate if the correct FQDN has been entered? Keep in mind there is no DNS server or Internet connection, so validation has to be done via

6条回答
  •  误落风尘
    2020-11-28 06:59

    The following expression

    (^((?=^.{4,253}$)(((http){0,1}|(http){0,1}|(ftp){0,1}|(ws){0,1})(s{0,1}):\/\/){0,1})((((?!-)[\pL0-9\-]{1,63})(?

    will match

    https://www.tes1t.com/lets/to?878932572
    https://www.test.co.uk/lets/to?878932572
    http://www.test.com/lets/to?878932572
    http://www.test.co.uk/lets/to?878932572
    ftp://www.test.com/lets/to?878932572
    subdomain.test.com/lets/to?878932572
    subdomain.test.com/lets/to?878932572
    subdomain.subdomain.test.net/lets/to?878932572
    
    sub-domain.test.net/lets/to?878932572
    sub-domain.test.net/lets-go/to?878932572
    www.test.net/lets/to?878932572
    www.test-test.com/
    www.test-test.com
    
    subdomain.subdomainsubdomainsuèdomainsubdomainsubdomainsubdomainsubdomain.net/let2s/to?=878932572
    
    www.test-test.co.uk
    http://www.test-test-.com/test
    www.test-teèst.co.uk/lets
    www.test-test.co.uk/lets/
    www.test-test.co.uk/lets/to?
    test-test.co.uk/lets/to?
    test-test.co.uk/lets/
    test-test.co.uk/lets
    test-test.co.uk
    http://test.com/lets/to?878932572
    https://test.com/lets/to?878932572
    ftp://test.com/lets/to?878932572
    ftps://test.com/lets/to?878932572
    ws://test.com/lets/to?878932572aa
    wss://test.com/lets/to?=878932572bar
    test.com
    
    subdomain.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.test.khbdomainsubdomainsubdomain.test.net/lets/to?87893257
    

    but not match:

    www.-test-fail-.com
    www.-test-fail.com
    -test-fail.com
    test-fail-.com
    
    subdomain.subdomainsubdomainsubdomainsubdomainsubdomainsubdomainsubdomainsubdomainsubdomainsubdomainubdomainsubdomainsubdomain.test.net/lets/to?878932572
    
    subdomain.subdomainsubdomainsubdcnvcnvcnofhfhghgfhvnhj-mainsubdomainsubdohhghghghfhgffgjh-gfhfdhfdghmainsubdocgvhngvnbnbmghghghaihgfjgfnfhfdghgsufghgghghhdfjgffsgfbdomainsubdomainsubdomainsubdomainsubdomainsubdomainsubdomain.test.net/lets/to?878932572
    
    subdomain.test.test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test..test.khbdomainsubdomainsubdomain.test.net/lets/to?87893257
    

提交回复
热议问题