Maison  >  Article  >  développement back-end  >  Comment vérifier si la chaîne d'entrée est au format d'adresse IPv4 à l'aide de l'expression régulière PHP

Comment vérifier si la chaîne d'entrée est au format d'adresse IPv4 à l'aide de l'expression régulière PHP

WBOY
WBOYoriginal
2023-06-24 16:26:221240parcourir

Comment utiliser les expressions régulières PHP pour vérifier si la chaîne d'entrée est au format d'adresse IPv4

Sur Internet, les adresses IP sont une condition nécessaire pour communiquer entre elles. IPv4, car le format d'adresse IP le plus couramment utilisé, est le format. actuellement utilisé par la plupart des appareils. En PHP, nous pouvons utiliser des expressions régulières pour vérifier si une chaîne d'entrée est une adresse IP au format IPv4. Cet article explique comment utiliser les expressions régulières PHP pour vérifier si la chaîne d'entrée est au format d'adresse IPv4.

Format d'adresse IPv4

Une adresse IPv4 est un nombre binaire de 32 bits, généralement écrit sous forme de quatre chiffres décimaux, chaque nombre étant séparé par un point, tel que 192.168.1.1. Au format d'adresse IPv4, chaque nombre est un nombre décimal compris entre 0 et 255, et l'adresse IPv4 ne peut contenir aucun autre caractère ou signe de ponctuation.

Vérifier l'expression régulière PHP pour l'adresse IPv4

En PHP, nous pouvons utiliser la fonction preg_match pour vérifier si une chaîne correspond à une expression régulière spécifique. Ce qui suit est une expression régulière PHP pour valider les adresses IPv4 :

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

Cette expression régulière contient quatre sous-expressions, chacune utilisée pour correspondre à quatre chiffres décimaux, et chaque sous-expression comporte les trois parties suivantes :

  1. [01]?[ 0-9]{1,2} : fait correspondre les nombres compris entre 0 et 99, autorisant les nombres commençant par 0.
  2. [01]?[0-9]{1,2}:匹配0到99之间的数字,允许数字以0开头。
  3. 2[0-4][0-9]:匹配200到249之间的数字。
  4. 25[0-5]:匹配250到255之间的数字。

使用以上正则表达式可以匹配符合IPv4地址格式的IP地址字符串。

IP地址验证的PHP代码实现

下面是一个完整的PHP例子,用于检查一个输入字符串是否符合IPv4地址格式:

function validate_ipv4_address($ipv4_string) {
  $ipv4_regex = "/^([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]).([01]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$/";
  return preg_match($ipv4_regex, $ipv4_string);
}

// Example usage:
$valid_ipv4_address = "192.168.1.1";
$invalid_ipv4_address = "192.168.1.333";

if(validate_ipv4_address($valid_ipv4_address)) {
  echo "$valid_ipv4_address is a valid IPv4 address";
} else {
  echo "$valid_ipv4_address is not a valid IPv4 address";
}

if(validate_ipv4_address($invalid_ipv4_address)) {
  echo "$invalid_ipv4_address is a valid IPv4 address";
} else {
  echo "$invalid_ipv4_address is not a valid IPv4 address";
}

当输入一个符合IPv4地址格式的字符串时,validate_ipv4_address函数将返回1,否则将返回02[0-4][0-9] : correspond aux nombres compris entre 200 et 249.

25[0-5] : correspond aux nombres compris entre 250 et 255.

Utilisez l'expression régulière ci-dessus pour faire correspondre les chaînes d'adresse IP conformes au format d'adresse IPv4.

Implémentation du code PHP de vérification de l'adresse IP

🎜Ce qui suit est un exemple PHP complet pour vérifier si une chaîne d'entrée est conforme au format d'adresse IPv4 : 🎜rrreee🎜Lors de la saisie d'une chaîne conforme au format d'adresse IPv4, L'adresse validate_ipv4_address La fonction renverra 1, sinon elle renverra 0. Dans l'exemple ci-dessus, la première instruction de sortie affichera « 192.168.1.1 est une adresse IPv4 valide », tandis que la deuxième instruction de sortie affichera « 192.168.1.333 n'est pas une adresse IPv4 valide ». 🎜🎜Conclusion🎜🎜En utilisant des expressions régulières PHP, nous pouvons facilement vérifier si la chaîne d'entrée est au format d'adresse IPv4. L'exemple ci-dessus peut être utilisé comme référence pour utiliser des expressions régulières PHP dans des applications qui doivent vérifier les adresses IPv4. 🎜

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