PHP utilise la fonction preg_match() pour implémenter la méthode de vérification de l'adresse IP

墨辰丷
Libérer: 2023-03-28 08:56:01
original
2001 Les gens l'ont consulté

Cet article présente principalement comment PHP utilise la fonction preg_match() pour vérifier l'adresse IP, impliquant les opérations de correspondance régulières de PHP pour les nombres et les chaînes. Les amis dans le besoin peuvent se référer à ce qui suit

Cet article explique les exemples. Voici comment PHP utilise la fonction preg_match() pour vérifier l'adresse IP. Partagez-le avec tout le monde pour votre référence, comme suit :

Code 1, mise en œuvre régulière

preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $ipAddress);
Copier après la connexion

Code 2,

<?php
/*
*@return Boolen
*@param String $ip 要匹配的ip地址
*@param String $pat 匹配的正则规则
*@param Boolen 匹配成功后返回的布尔值
*preg_match()
*0为不成功,1为成功
*/
function fun($ip){
  //0.0.0.0--- 255.255.255.255
  $pat = "/^(((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))$/";
  if(preg_match($pat,$ip)){
   $num = preg_match($pat,$ip);
   return $num;
  }else{
   $num = preg_match($pat,$ip);
   return $num;
  }
}
echo fun("255.255.255.255");
Copier après la connexion

L'efficacité du régulier n'est pas aussi bonne que celle du natif, alors jetez simplement le lien (fonction de filtre) et partez.

Options de filtrage, telles que les adresses IP privées, etc.

Référence d'utilisation Valider une adresse IP avec la fonction filter_var de PHP

Comment php détermine-t-il si une adresse IP est une adresse IP valide ?

La plupart des gens ont vu ce journal, la première impression doit être qu'il s'agit de savoir comment juger à travers des expressions régulières.

Non, après php5.2.0, il existe une fonction spéciale pour porter ce jugement.

Juger s'il s'agit d'une adresse IP légale

if(filter_var($ip, FILTER_VALIDATE_IP)) {
// it&#39;s valid
}
else {
// it&#39;s not valid
}
Copier après la connexion

Juger s'il s'agit d'une adresse IP IPv4 légale

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
// it&#39;s valid
}
else {
// it&#39;s not valid
}
Copier après la connexion

Déterminez s'il s'agit d'une adresse IPv4 publique légale. Les adresses IP privées telles que 192.168.1.1 seront exclues

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {
// it&#39;s valid
}
else {
// it&#39;s not valid
}
Copier après la connexion
.

Déterminez s'il s'agit d'une adresse IPv6 légale

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {
// it&#39;s valid
}
else {
// it&#39;s not valid
}
Copier après la connexion

Déterminez s'il s'agit d'une adresse IP IPv4 publique ou une adresse IP IPv6 publique légale

if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
// it&#39;s valid
}
else {
// it&#39;s not valid
}
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

php preg_matchAnalyse de cas de longueur de chaîne de correspondance

PHP preg_matchExplication détaillée des étapes pour faire correspondre la longueur de la chaîne

PHP preg_matchimplémentation de expressions régulières Méthodes de correspondance des fonctions

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