par anonyme 31-Janvier-2022

Comment faire pour vérifier le format d'une adresse IP v4, ou une adresse IP v6, en PHP ?

1 Réponse

par Antoine 31-Janvier-2022

Pour vérifier le format d'une adresse IP v4 ou v6, en PHP, vous pouvez utiliser des expressions régulières REGEX, ainsi que la fonction PHP preg_match().

Expression régulière pour vérifier une IP v4 :

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

Expression régulière pour vérifier une IP v6 :

/^:?([a-fA-F0-9]{1,4}(:|.)?){0,8}(:|::)?([a-fA-F0-9]{1,4}(:|.)?){0,8}$/

La fonction preg_match permet de valider la correspondance entre l'expression régulière et l'IP à contrôler.

Voici une exemple pour vérifier le format d'une adresse IP en PHP :

<?php
function verifierIP($ip) {
  if($ip=="::1") return false;
  $ipv4 = "/((^|\.)(2[0-5]{2}|[01][0-9]{2}|[0-9]{1,2})(?=\.|$)){4}/";
  $ipv6 = "/^:?([a-fA-F0-9]{1,4}(:|.)?){0,8}(:|::)?([a-fA-F0-9]{1,4}(:|.)?){0,8}$/";
  return (preg_match($ipv4, $ip) OR preg_match($ipv6, $ip));
}

$ip = "8.125.8.4";
if (verifierIP($ip) == TRUE) {
  echo "Le format de l'adresse IP ".$ip." est valide.";
}
else echo "Le format de l'adresse IP ".$ip." est invalide.";
?>
Bienvenue sur 1FORMATIK, où vous pouvez poser des questions en lien avec l'informatique et internet, et recevoir des réponses d'Antoine et d'autres internautes.

2.6k questions

3k réponses

...