php验证ip地址的函数,php使用preg_match()函数验证ip地址的方法
本文實例講述了php使用preg_match()函數驗證ip地址的方法。分享給大家供大家參考,具體如下:
代碼一、正則實現preg_match("/^(?:25[0-5]|2[0-4]d|1dd|[1-9]d|d)(?:[.](?:25[0-5]|2[0-4]d|1dd|[1-9]d|d)){3}$/", $ipAddress);
代碼二、<?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");
正則的效率是在比不上原生的,所以丟個鏈接(過濾器函數)走人。
過濾器的選項,比如可以過濾私有IP地址等。
用法參考Validating an IP address with PHP"s filter_var function
php如何判斷IP為有效IP地址
多數人看到這篇日志,第一印象肯定是以為是要講如何通過正則表達式來判斷。
非也,在php5.2.0之后,有專門的函數來做這個判斷了。
判斷是否是合法IPif(filter_var($ip, FILTER_VALIDATE_IP)) {// it"s valid}else {// it"s not valid}
判斷是否是合法的IPv4 IP地址if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {// it"s valid}else {// it"s not valid}
判斷是否是合法的公共IPv4地址,192.168.1.1這類的私有IP地址將會排除在外if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {// it"s valid}else {// it"s not valid}
判斷是否是合法的IPv6地址if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) {// it"s valid}else {// it"s not valid}
判斷是否是public IPv4 IP或者是合法的Public IPv6 IP地址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}
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:http://tools.jb51.net/regex/create_reg
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php正則表達式用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
總結
以上是生活随笔為你收集整理的php验证ip地址的函数,php使用preg_match()函数验证ip地址的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php生产任务,php生产实用技能之计划
- 下一篇: java 整型数组排序,java整型数组