>  기사  >  백엔드 개발  >  입력 문자열이 올바른 IPv6 주소 또는 도메인 이름 형식인지 확인하는 PHP 정규 표현식

입력 문자열이 올바른 IPv6 주소 또는 도메인 이름 형식인지 확인하는 PHP 정규 표현식

PHPz
PHPz원래의
2023-06-24 09:16:391837검색

웹사이트나 클라이언트 애플리케이션을 작성할 때 사용자의 입력 데이터가 올바른 형식인지 확인해야 하는 경우가 많습니다. 일반적인 확인 중 하나는 사용자가 입력한 IP 주소 또는 도메인 이름 형식이 표준을 충족하는지 확인하는 것입니다.

IPv6은 보다 다채로운 주소 형식을 지원하고 더 많은 비트를 사용하여 IP 주소를 나타내는 차세대 IP 프로토콜입니다. IPv6 주소에는 콜론으로 구분된 4자리 16진수 그룹 8개가 있습니다(예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334). IPv6 주소의 각 값 집합은 0 값을 나타내기 위해 최소 한 자리의 숫자 또는 이중 콜론(::)이 포함된 16진수로 축약될 수 있습니다.

도메인 이름은 IP 주소를 사람이 읽을 수 있는 이름으로 대체하는 네트워크의 주소 확인 방법입니다. 예를 들어 www.google.com은 도메인 이름이고 해당 IP 주소는 216.58.194.174입니다.

PHP에서는 정규식을 사용하여 입력 문자열이 올바른 IPv6 주소 또는 도메인 이름 형식인지 확인할 수 있습니다. 다음은 PHP의 정규 표현식입니다:

IPv6 주소:

/^([da-fA-F]{1,4}:){7}[da-fA-F]{1,4}$/i

도메인 이름:

/^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}$/i

위 정규 표현식은 preg_match() 함수를 사용하여 주어진 문자열을 일치시키는 데 사용할 수 있습니다.

다음 코드는 위의 정규식을 사용하여 IPv6 주소와 도메인 이름을 확인하는 방법을 보여줍니다.

function is_valid_ipv6($ip) {
  return preg_match('/^([da-fA-F]{1,4}:){7}[da-fA-F]{1,4}$/i', $ip);
}

function is_valid_domain($domain) {
  return preg_match('/^([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}$/i', $domain);
}

$ipv6 = '2001:0db8:85a3:0000:0000:8a2e:0370:7334';
$domain = 'www.google.com';

if (is_valid_ipv6($ipv6)) {
  echo $ipv6 . '是一个有效的IPv6地址';
} else {
  echo $ipv6 . '不是一个有效的IPv6地址';
}

if (is_valid_domain($domain)) {
  echo $domain . '是一个有效的域名';
} else {
  echo $domain . '不是一个有效的域名';
}

위의 예에서는 먼저 is_valid_ipv6() 및 is_valid_domain() 함수를 정의하여 IPv6 주소 및 도메인 이름의 형식을 확인하고 도메인 이름. 그런 다음 각각 IPv6 주소와 도메인 이름인 두 개의 문자열 $ipv6 및 $domain을 정의했습니다. 마지막으로 if 문을 사용하여 두 문자열이 유효성 검사 규칙을 준수하는지 확인합니다.

요약:

PHP에서는 정규식을 사용하여 사용자가 입력한 IPv6 주소 또는 도메인 이름이 올바른 형식인지 확인할 수 있습니다. 이 기능은 preg_match() 함수를 사용하여 코드에서 쉽게 구현할 수 있습니다. 정규식을 작성하려면 약간의 경험이 필요하지만 온라인 정규식 생성기를 사용하면 프로세스를 단순화할 수 있습니다.

위 내용은 입력 문자열이 올바른 IPv6 주소 또는 도메인 이름 형식인지 확인하는 PHP 정규 표현식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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