Maison > développement back-end > tutoriel php > Comment vérifier le format d'une adresse IP à l'aide d'expressions régulières PHP

Comment vérifier le format d'une adresse IP à l'aide d'expressions régulières PHP

WBOY
Libérer: 2023-06-24 13:32:01
original
1505 Les gens l'ont consulté

Une adresse IP est un identifiant utilisé pour communiquer sur un réseau informatique. En développement web, il est souvent nécessaire de vérifier si l’adresse IP saisie par l’utilisateur est conforme au format standard, ce qui nécessite l’utilisation d’expressions régulières PHP.

Les expressions régulières en PHP sont un outil de correspondance de texte très puissant. Vous pouvez vérifier rapidement et avec précision si l'adresse IP saisie est conforme au format standard à l'aide d'expressions régulières. Dans ce qui suit, nous présenterons comment utiliser les expressions régulières PHP pour vérifier le format de l'adresse IP.

  1. Déterminer le format de l'adresse IP

Lors de la vérification du format de l'adresse IP, nous devons connaître le format standard de l'IP adresse. En IPv4, une adresse IP est composée de quatre chiffres séparés par des points. La plage de valeurs de ces quatre nombres est comprise entre 0 et 255. En IPv6, une adresse IP se compose de huit nombres hexadécimaux séparés par des deux-points. Par exemple : "2001:db8:170:1:0:0:0:2".

  1. Écrire des expressions régulières

Avec le format de l'adresse IP, on peut commencer à écrire des expressions régulières. En PHP, vous pouvez utiliser la fonction preg_match pour vérifier que l'adresse IP est au bon format.

Ce qui suit est un exemple de code pour vérifier le format d'une adresse IPv4 :

function validateIPV4($ipAddress) {
  // IPv4 格式正则表达式
  $ipv4Regex = '/^((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]?)$/';

  // 使用 preg_match 函数进行正则匹配
  if(preg_match($ipv4Regex, $ipAddress)) {
    return true;
  } else {
    return false;
  }
}
Copier après la connexion

L'expression régulière ci-dessus divise l'adresse IP en quatre segments et la plage de valeurs de chacun segment est 0 Entre -255, utilisez des crochets et des points pour le regroupement, et enfin utilisez ^ et $ pour représenter respectivement le début et la fin de l'expression régulière.

Ce qui suit est un exemple de code pour vérifier le format d'une adresse IPv6 :

function validateIPV6($ipAddress) {
  // IPv6 格式正则表达式
  $ipv6Regex = '/^(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4}$/i';

  // 使用 preg_match 函数进行正则匹配
  if(preg_match($ipv6Regex, $ipAddress)) {
    return true;
  } else {
    return false;
  }
}
Copier après la connexion

L'expression régulière ci-dessus divise l'adresse IPv6 en huit segments, chaque segment est composé de 4 bits Composé de nombres hexadécimaux. Parmi eux, A-F représente les nombres hexadécimaux 10 à 15, et l'indicateur i indique que l'expression régulière ignore la casse.

  1. Appelez la fonction de vérification

Après avoir terminé l'expression régulière, vous devez la faire correspondre à l'adresse IP réelle pour vérification. La fonction écrite ci-dessus peut être placée dans une bibliothèque publique et appelée à tout moment pour vérifier si le format de l'adresse IP est correct. Voici un exemple de code :

$ipv4 = "192.168.1.1";
$ipv6 = "2001:db8:170:1:0:0:0:2";

if (validateIPV4($ipv4)) {
  echo "IPv4地址格式正确";
} else {
  echo "IPv4地址格式不正确";
}

if (validateIPV6($ipv6)) {
  echo "IPv6地址格式正确";
} else {
  echo "IPv6地址格式不正确";
}
Copier après la connexion

Le code ci-dessus appellera la fonction de vérification précédemment écrite, en passant respectivement $ipv4 et $ipv6 dans la fonction pour vérification. Si le format de l'adresse IP est correct, les informations d'invite correspondantes seront affichées.

Résumé :

Grâce aux étapes ci-dessus, nous pouvons vérifier plus précisément si le format de l'adresse IP est correct grâce aux expressions régulières PHP. Un code détaillé peut être écrit en fonction des besoins des projets réels pour garantir la fiabilité et la sécurité de la fonction de vérification.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal