Maison >développement back-end >tutoriel php >Expression régulière PHP pour vérifier si la chaîne d'entrée est le bon format d'adresse IPv6 ou de nom de domaine

Expression régulière PHP pour vérifier si la chaîne d'entrée est le bon format d'adresse IPv6 ou de nom de domaine

PHPz
PHPzoriginal
2023-06-24 09:16:391898parcourir

Lors de la rédaction d'un site Web ou d'une application client, il est souvent nécessaire de vérifier que les données saisies par l'utilisateur sont au bon format. Une vérification courante consiste à vérifier si le format de l'adresse IP ou du nom de domaine saisi par l'utilisateur répond à la norme.

IPv6 est le protocole IP de nouvelle génération, qui prend en charge des formats d'adresses plus colorés et utilise plus de bits pour représenter les adresses IP. Les adresses IPv6 comportent huit groupes de nombres hexadécimaux à 4 chiffres séparés par des deux-points, par exemple : 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Chaque ensemble de valeurs dans une adresse IPv6 peut être abrégé en un nombre hexadécimal avec au moins un chiffre ou un double deux-points (::) pour représenter une valeur nulle.

Le nom de domaine est une méthode de résolution d'adresse dans le réseau, qui remplace l'adresse IP par un nom lisible par l'homme. Par exemple, www.google.com est un nom de domaine et l'adresse IP correspondante est 216.58.194.174.

En PHP, vous pouvez utiliser des expressions régulières pour vérifier si la chaîne d'entrée est dans le bon format d'adresse IPv6 ou de nom de domaine. Ce qui suit est une expression régulière en PHP :

Adresse IPv6 :

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

Nom de domaine :

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

L'expression régulière ci-dessus peut être utilisée pour faire correspondre une chaîne donnée à l'aide de la fonction preg_match().

Le code suivant montre comment utiliser l'expression régulière ci-dessus pour valider les adresses IPv6 et les noms de domaine :

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 . '不是一个有效的域名';
}

Dans l'exemple ci-dessus, nous avons d'abord défini les fonctions is_valid_ipv6() et is_valid_domain() pour vérifier le format de l'adresse IPv6 et nom de domaine. Ensuite, nous avons défini deux chaînes $ipv6 et $domain, qui sont respectivement une adresse IPv6 et un nom de domaine. Enfin, utilisez une instruction if pour déterminer si les deux chaînes sont conformes aux règles de validation.

Résumé :

En PHP, vous pouvez utiliser des expressions régulières pour vérifier si l'adresse IPv6 ou le format du nom de domaine saisi par l'utilisateur est correct. Cette fonctionnalité peut être facilement implémentée dans le code à l'aide de la fonction preg_match(). L'écriture d'expressions régulières nécessite une certaine expérience, mais vous pouvez simplifier le processus avec un générateur d'expressions régulières en ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn