>백엔드 개발 >PHP 튜토리얼 >정규식 없이 PHP에서 도메인 이름을 검증할 수 있습니까?

정규식 없이 PHP에서 도메인 이름을 검증할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 19:29:30681검색

Can Domain Names Be Validated in PHP Without Regular Expressions?

PHP에서 도메인 이름 검증

정규 표현식 없이 검증을 수행할 수 있습니까?

정규 표현식 없이 도메인 이름 검증은 잠재적인 보안으로 인해 권장되지 않습니다. 취약점과 일관되지 않은 결과. 정규식은 정확성을 보장하기 위해 강력하고 표준화된 접근 방식을 제공합니다.

도메인 이름 유효성 검사를 위한 정규식 패턴

정규식을 사용하여 도메인 이름을 유효성 검사하려면 다음 패턴을 고려하세요.

^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i

이 표현식은 여러 기준으로 구성됩니다.

  • 유효 문자: 도메인 이름에 영숫자 문자, 하이픈 및 마침표만 포함되어 있는지 확인하세요.
  • 전체 길이 : 도메인 이름 길이는 253자를 초과할 수 없습니다.
  • 개별 라벨 길이: 각 라벨(마침표로 구분된 부분)은 63자를 초과할 수 없습니다.

사용자 정의 유효성 검사 기능

도메인 이름 유효성 검사를 위한 향상된 PHP 기능:

<code class="php">function is_valid_domain_name($domain_name)
{
    return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name)
            &amp;&amp; preg_match("/^.{1,253}$/", $domain_name)
            &amp;&amp; preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name));
}</code>

테스트 사례

Domain Name Validation Result
a Yes
0 Yes
a.b Yes
localhost Yes
google.com Yes
news.google.co.uk Yes
xn--fsqu00a.xn--0zwm56d Yes
goo gle.com No
google..com No
google.com No
google-.com No
.google.com No
No
alert( No
. No
.. No
No
- No
No

위 내용은 정규식 없이 PHP에서 도메인 이름을 검증할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.