In diesem Artikel wird hauptsächlich vorgestellt, wie PHP die Funktion preg_match() verwendet, um die IP-Adresse zu überprüfen, einschließlich der regulären Matching-Vorgänge von PHP für Zahlen und Zeichenfolgen. Freunde in Not können sich auf Folgendes beziehen:
In diesem Artikel werden die Beispiele erläutert So verwendet PHP die Funktion preg_match(), um die IP-Adresse zu überprüfen. Teilen Sie es wie folgt mit allen als Referenz:
Code 1, regelmäßige Implementierung
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);
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");
Die Effizienz des regulären ist nicht so gut wie die des nativen, also werfen Sie einfach den Link (Filterfunktion) weg und gehen Sie.
Filteroptionen, wie private IP-Adressen usw.
Verwendungsreferenz Validieren einer IP-Adresse mit der Funktion filter_var von PHP
Wie stellt PHP fest, ob eine IP eine gültige IP-Adresse ist?
Die meisten Leute haben das Ich habe dieses Protokoll gesehen. Der erste Eindruck muss sein, dass es darum geht, anhand regulärer Ausdrücke zu urteilen.
Nein, nach PHP5.2.0 gibt es eine spezielle Funktion, um dieses Urteil zu fällen.
Beurteilen Sie, ob es sich um eine legale IP handelt
if(filter_var($ip, FILTER_VALIDATE_IP)) { // it's valid } else { // it's not valid }
Beurteilen Sie, ob es sich um eine legale IPv4-IP-Adresse handelt
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { // it's valid } else { // it's not valid }
Stellen Sie fest, ob es sich um eine legale öffentliche IPv4-Adresse wie 192.168.1.1 handelt.
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) { // it's valid } else { // it's not valid }
Bestimmen Sie, ob es sich um eine legale IPv6-Adresse handelt
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) { // it's valid } else { // it's not valid }
Bestimmen Sie, ob es sich um eine öffentliche IPv4-IP-Adresse oder eine legale öffentliche IPv6-IP-Adresse handelt
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) { // it's valid } else { // it's not valid }
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
php preg_matchMatch-String-Length-Fallanalyse
PHP preg_matchDetaillierte Erläuterung der Schritte zum Anpassen der Zeichenfolgenlänge
PHP preg_matchImplementierung von Reguläre Ausdrücke Methoden zum Abgleichen von Funktionen
Das obige ist der detaillierte Inhalt vonPHP verwendet die Funktion preg_match(), um die Methode zur Überprüfung der IP-Adresse zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!