Validarea IP-urilor folosind expresiile regulate
| May 21st, 2008Va voi arata cum sa validati IP-urile folosind expresiile regulate in PHP. Dupa cum stiti adresa IP este alcatuita din patru parti. Fiecare parte este separata prin “.” si este alcatuita din cifre cuprinse intre 0 si 255.
//function to validate ip address format in php
function validateIpAddress($ip_addr) { //first of all the format of the ip address is matched if(preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$ip_addr)) { //now all the intger values are separated $parts=explode(".",$ip_addr); //now we need to check each part can range from 0-255 foreach($parts as $ip_parts) { if(intval($ip_parts)>255 || intval($ip_parts)<0) return false; //if number is not within range of 0-255 } return true; } else return false; //if format of ip address doesn't matches }
Dupa cum vedeti prima data “$ip_addr” este validata folosindu-se expresia regulata.
Expresia regulata contine “\d{1,3}”, ceea ce inseamna ca trebuie ca fiecare parte sa aiba una sau trei cifre pentru ca adresa IP poate fi de forma “222.0.123.12? sau “12.15.123.5?. Dupa ce se valideaza formatul folosindu-se expresia regulata, fiecare parte din ip este separata prin “.” folosind functia din PHP explode().
In final, se verifica daca fiecare parte din IP este in intervalul 0 si 255.
.