정규 표현식을 사용하여 호스트 이름의 유효성을 검사합니다. 그것은 표준에 완전히 부합해야합니다. 지금, 나는호스트 이름 정규식
^[0-9a-z]([0-9a-z\-]{0,61}[0-9a-z])?(\.[0-9a-z](0-9a-z\-]{0,61}[0-9a-z])?)*$
을 가지고 있지만 그것은 연속 hypens 255 자보다 긴 호스트 이름을 수 있습니다. 완벽한 정규 표현식이 불가능하면 그렇게 말하십시오.
편집/설명 : Google 검색에서 이것이 해결 된 (또는 입증 된 해결 불가능한) 문제인 것으로 밝혀지지 않았습니다. 아무도 자신의 것을 쓸 필요가 없도록 최종 정규 표현식을 만들고 싶습니다. 방언이 중요한 경우,이를 수행 할 수있는 버전이 필요합니다.
뒤에 "."이있는 도메인을 허용하지 않습니다. 그렇지 않으면 작동합니다. – nicerobot
수정 됨. 길이 어설 션이 255 이하인지 확인하는 대신 후미 점을 제외하고 254 이하인지 확인해야하는지 궁금합니다. 그렇지 않으면 행에있는 누군가가 최대 길이의 호스트 이름에 후행 점을 추가하고이를 중단시킬 수 있습니다. – CannibalSmith
하이픈 앞에있는 \ b가 유효한 국제화 도메인 이름 (예 : xn--bcher-kva.ch. –