>  기사  >  백엔드 개발  >  IP 주소의 유효성을 확인하는 PHP 정규식

IP 주소의 유효성을 확인하는 PHP 정규식

王林
王林원래의
2023-06-24 11:27:101189검색

웹 애플리케이션을 개발할 때 IP 주소를 사용해야 하는 경우가 많습니다. IP 주소의 유효성은 매우 중요합니다. IP 주소가 유효하지 않은 경우 보안 취약점 및 기타 문제가 발생할 수 있기 때문입니다. PHP 정규식은 IP 주소의 유효성을 확인하는 데 도움이 되는 유용한 도구입니다.

PHP 정규식은 텍스트를 일치시키고 바꾸는 데 사용할 수 있는 강력한 텍스트 처리 도구입니다. PHP에서 정규식은 일반적으로 preg 일련의 함수를 사용하여 처리됩니다. IP 주소의 유효성을 확인하기 위해 다음 정규식을 사용할 수 있습니다.

$pattern = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';

이 정규식은 기본적으로 모든 법적 IP 주소와 일치할 수 있습니다. 아래에서 자세히 설명드리겠습니다.

우선 정규식의 시작이 "^"인데, 이는 문자열의 처음부터 일치가 시작된다는 의미입니다. 그러면 "(?:)"로 둘러싸인 부분은 비캡처 그룹이므로 반복적으로 매칭이 가능합니다. 다음은 "(?:25[0-5]|20-4|[01]?0-9?)"입니다. 이 부분은 IP 주소의 처음 세 세그먼트와 일치할 수 있습니다. 각 세그먼트의 값 범위는 0-입니다. 255.

구체적으로 이 부분은 "|"로 구분된 세 부분으로 구성됩니다.

  • "25[0-5]"는 25부터 255까지의 숫자를 나타냅니다.
  • "20-4"는 200에서 249까지의 숫자와 250에서 255까지의 숫자를 의미합니다.
  • "[01]?0-9?"는 0에서 199 사이의 숫자를 의미합니다. 그 중 "[01]?[0-9]"는 0부터 19까지의 숫자를 나타내고, "[01]?0-9?"는 0부터 199까지의 숫자를 나타냅니다.

다음 단계는 "."입니다. 이는 IP 주소의 "."을 일치시키는 것을 의미합니다.

마지막 부분은 "(?:25[0-5]|20-4|[01]?0-9?)$"입니다. 이 부분은 IP 주소의 마지막 세그먼트인 네 번째 세그먼트와 일치할 수 있습니다. . 해당 규칙은 이전 규칙과 유사하므로 다시 설명하지 않습니다. 마지막 "$"는 문자열 끝에서부터 일치한다는 의미입니다.

이 정규 표현식은 IPv4 주소의 유효성을 확인하는 데에만 사용할 수 있다는 점에 유의하세요. IPv6 주소의 유효성을 확인해야 하는 경우 다른 정규식을 사용해야 합니다.

다음은 IP 주소의 유효성을 확인하기 위한 완전한 PHP 코드 예제입니다.

function validateIPAddress($ip) {
    $pattern = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';
    if (preg_match($pattern, $ip)) {
        return true;
    } else {
        return false;
    }
}

$ip = '192.168.0.1';
if (validateIPAddress($ip)) {
    echo 'IP地址有效';
} else {
    echo 'IP地址无效';
}

먼저 IP 주소의 유효성을 확인하기 위해 verifyIPAddress 함수를 정의합니다. IP 주소가 유효하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 함수에서는 일치를 위해 앞서 언급한 정규식을 사용합니다.

그런 다음 IP 주소를 저장하기 위해 $ip 변수가 정의됩니다. IP 주소가 유효하면 "IP 주소가 유효합니다."가 출력되고, 그렇지 않으면 "IP 주소가 유효하지 않습니다."가 출력됩니다.

이 예를 통해 PHP 정규식을 사용하여 IP 주소의 유효성을 확인하는 것이 매우 간단하다는 것을 알 수 있습니다. 실제 적용에서는 검증을 더욱 정확하게 하기 위해 필요에 따라 일부 규칙을 제거하거나 추가할 수도 있습니다.

위 내용은 IP 주소의 유효성을 확인하는 PHP 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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