本文实例讲述了php使用preg_match()函数验证ip地址的方法。分享给大家供大家参考,具体如下:

代码一、正则实现
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);
代码二、
<?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之后,有专门的函数来做这个判断了。
判断是否是合法IP
if(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./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# php
# preg_match()
# 验证
# ip地址
# php中使用preg_match_all匹配文章中的图片
# php preg_match_all结合str_replace替换内容中所有img
# PHP中preg_match正则匹配中的/u、/i、/s含义
# PHP函数preg_match_all正则表达式的基本使用详细解析
# PHP 正则表达式之正则处理函数小结(preg_match
# preg_match_all
# preg_replace
# preg_split)
# PHP preg_match的匹配多国语言的技巧
# PHP preg match正则表达式函数的操作实例
# php中获取指定IP的物理地址的代码(正则表达式)
# PHP IPV6正则表达式验证代码
# PHP 正则表达式效率 贪婪、非贪婪与回溯分析(推荐)
# php常用正则函数实例小结
# php正则修正符用法实例详解
# 判断是否
# 正则表达式
# 程序设计
# 操作技巧
# 是在
# 相关内容
# 将会
# 感兴趣
# 这类
# 给大家
# 或者是
# 来做
# 这篇
# 更多关于
# 所述
# 不成功
# 比不上
# 多数人
# 面向对象
# 再为
相关文章:
图册素材网站设计制作软件,图册的导出方式有几种?
如何通过多用户协作模板快速搭建高效企业网站?
制作表格网站有哪些,线上表格怎么弄?
红河网站制作公司,红河事业单位身份证如何上传?
平台云上自主建站:模板化设计与智能工具打造高效网站
如何选择高性价比服务器搭建个人网站?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
Python文件管理规范_工程实践说明【指导】
如何配置FTP站点权限与安全设置?
如何在七牛云存储上搭建网站并设置自定义域名?
一键网站制作软件,义乌购一件代发流程?
如何用已有域名快速搭建网站?
如何用VPS主机快速搭建个人网站?
MySQL查询结果复制到新表的方法(更新、插入)
做企业网站制作流程,企业网站制作基本流程有哪些?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
C++中引用和指针有什么区别?(代码说明)
焦点电影公司作品,电影焦点结局是什么?
如何选择高效可靠的多用户建站源码资源?
建站之星如何快速解决建站难题?
行程制作网站有哪些,第三方机票电子行程单怎么开?
XML的“混合内容”是什么 怎么用DTD或XSD定义
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何高效利用200m空间完成建站?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何快速建站并高效导出源代码?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
济南企业网站制作公司,济南社保单位网上缴费步骤?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
宝塔新建站点报错如何解决?
如何做静态网页,sublimetext3.0制作静态网页?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
建站VPS配置与SEO优化指南:关键词排名提升策略
如何批量查询域名的建站时间记录?
电商平台网站制作流程,电商网站如何制作?
教学网站制作软件,学习*后期制作的网站有哪些?
如何快速打造个性化非模板自助建站?
建站之星如何保障用户数据免受黑客入侵?
网站图片在线制作软件,怎么在图片上做链接?
内部网站制作流程,如何建立公司内部网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何在建站之星网店版论坛获取技术支持?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
建站之星安装失败:服务器环境不兼容?
建站之星2.7模板:企业网站建设与h5定制设计专题
*请认真填写需求信息,我们会在24小时内与您取得联系。