정규 표현식 없이 PHP 도메인 이름 유효성 검사
많은 개발자는 도메인 이름이 특정 형식 규칙을 준수하는지 확인하기 위해 도메인 이름을 유효성 검사해야 하는 상황에 직면합니다. 이 작업에는 정규식이 일반적으로 사용되지만 복잡할 수 있고 오류가 발생할 가능성이 있습니다. 이 기사에서는 정규식에 의존하지 않고 PHP에서 도메인 이름을 검증하는 솔루션을 살펴봅니다.
레거시 시스템을 사용하거나 엄격한 문자 제한을 처리하는 경우와 같은 특정 상황에서는 도메인 이름을 검증해야 할 수도 있습니다. 정규식을 사용하지 않고. 다음 함수는 일련의 논리적 검사를 구현하여 이를 달성합니다.
<code class="php">function is_valid_domain_name($domain_name) { // Validate alphanumeric characters if (!preg_match("/^[a-zA-Z0-9]+$/", $domain_name)) { return false; } // Validate length of each label $labels = explode(".", $domain_name); foreach ($labels as $label) { if (strlen($label) < 1 || strlen($label) > 63) { return false; } } // Validate overall length if (strlen($domain_name) > 253) { return false; } return true; }</code>
이 함수는 도메인 이름이 영숫자 문자로 시작하고 끝나며 도메인 이름 내의 각 레이블이 지정된 길이 제한을 준수하는지 확인합니다. 또한 도메인 이름의 전체 길이를 검증합니다.
테스트 사례
다음 테스트 사례는 이 검증 기능의 효율성을 보여줍니다.
<code class="php">is_valid_domain_name? [a] Y is_valid_domain_name? [0] Y is_valid_domain_name? [a.b] Y is_valid_domain_name? [localhost] Y is_valid_domain_name? [google.com] Y is_valid_domain_name? [news.google.co.uk] Y is_valid_domain_name? [xn--fsqu00a.xn--0zwm56d] Y is_valid_domain_name? [goo gle.com] N is_valid_domain_name? [google..com] N is_valid_domain_name? [google.com ] N is_valid_domain_name? [google-.com] N is_valid_domain_name? [.google.com] N is_valid_domain_name? [<script] N is_valid_domain_name? [alert(] N is_valid_domain_name? [.] N is_valid_domain_name? [..] N is_valid_domain_name? [ ] N is_valid_domain_name? [-] N is_valid_domain_name? [] N</code>
이러한 논리적 검사를 따르면 이 기능은 정규 표현식 없이도 도메인 이름을 검증하는 안정적인 방법을 제공합니다. 이 접근 방식을 사용하면 PHP에서 도메인 이름을 확인할 때 유연성이 향상되고 오류 가능성이 줄어듭니다.
위 내용은 정규식 없이 PHP에서 도메인 이름을 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!