>  기사  >  백엔드 개발  >  PHP 정규식으로 IP 주소를 확인하는 방법

PHP 정규식으로 IP 주소를 확인하는 방법

WBOY
WBOY원래의
2023-06-24 10:26:351820검색

웹 애플리케이션을 개발할 때 사용자가 입력한 IP 주소가 올바른 형식인지 확인해야 하는 경우가 종종 있습니다. PHP 정규식은 입력된 IP 주소가 지정된 형식을 준수하는지 확인하는 데 사용할 수 있는 강력한 도구입니다. 이 기사에서는 PHP 정규식을 사용하여 IP 주소를 확인하는 방법을 소개합니다.

IP 주소는 네트워크에 있는 장치의 고유 식별자로, 32비트 이진수로 구성되며 일반적으로 IPv4 주소라고 합니다. IPv4 주소는 일반적으로 "192.168.0.1"과 같이 점으로 구분된 십진수 표기법으로 표현됩니다. IPv6 주소도 일반적인 IP 주소 형식이지만 이 기사에서는 IPv4 주소에 대해서만 설명합니다.

PHP 정규식은 주어진 문자열에서 특정 패턴을 찾는 데 사용되는 패턴 일치 도구입니다. 정규식은 일치하는 패턴을 나타내는 데 사용되는 일부 문자와 특수 문자로 구성됩니다. PHP에서는 preg_match() 함수를 사용하여 정규식 일치를 수행할 수 있습니다.

IPv4 주소를 확인하는 정규식은 다음과 같습니다.

/^([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5])$/

위의 정규식은 명명된 그룹을 사용하여 IPv4 주소의 4개 필드와 일치합니다. 첫 번째와 두 번째 필드의 범위는 0-255이고 세 번째와 네 번째 필드는 필드 범위는 0-255입니다. 정규식의 물음표는 옵션을 나타냅니다. 여기서 "[01]?"은 첫 번째 숫자가 0 또는 1이고 그 뒤에 한 개의 숫자(즉, 홀수)가 올 수 있음을 의미합니다. "d"는 임의의 숫자를 의미하고, {1,2}는 하나 또는 두 개의 숫자를 의미합니다. 예를 들어 "d{1,2}"는 1에서 99 사이의 숫자와 일치합니다.

다음은 preg_match() 함수를 사용하여 IP 주소를 검증하는 예입니다.

function validateIP($ip) {
    if (preg_match('/^([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5])$/', $ip)) {
        return true;
    } else {
        return false;
    }
}

위 코드는 "$ip" 매개변수를 입력으로 사용하고 해당 매개변수에서 IPv4를 검색하는 "validateIP()"라는 함수를 정의합니다. 구애. 일치하는 항목이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

다음은 이 함수를 사용하여 IP 주소를 확인하는 예입니다.

$ip = "192.168.0.1";
if (validateIP($ip)) {
    echo "$ip 是一个有效的IP地址";
} else {
    echo "$ip 不是一个有效的IP地址";
}

위 코드는 먼저 확인할 IP 주소가 포함된 "$ip"라는 문자열 변수를 정의합니다. 그런 다음 verifyIP() 함수를 호출하여 주소가 유효한지 확인합니다.

더 일반적인 시나리오는 양식 유효성 검사에서 IP 주소 유효성 검사를 사용하는 것입니다. 다음은 PHP를 사용하여 양식 데이터에서 IP 주소를 검증하는 예입니다.

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $ip = $_POST["ip"];

    if (empty($ip)) {
        echo "请输入一个IP地址";
    } else if (!validateIP($ip)) {
        echo "您输入的不是一个有效的IP地址";
    } else {
        echo "IP地址 $ip 是有效的";
    }
}

위 코드는 먼저 POST 요청이 있는지 확인하고 양식 데이터에서 "ip" 매개변수를 가져와 "$ip"라는 파일에 저장합니다. "변수에. 그런 다음 verifyIP() 함수를 호출하여 주소가 유효한지 확인하고 결과에 따라 해당 메시지를 출력합니다.

정규식은 사용자가 입력한 IP 주소를 확인할 때 강력한 도구입니다. PHP의 preg_match() 함수를 사용하여 정규식 검색 및 일치를 수행할 수 있습니다. 위에서 언급한 정규식을 사용하여 IP 주소 확인을 위한 관련 기능과 코드를 작성하는 것은 매우 간단합니다.

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

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