• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

在PHP中怎么用正则表达式验证IP地址

php 搞代码 4年前 (2022-01-24) 31次浏览 已收录 0个评论

在PHP中如何用正则表达式验证IP地址
 IP地址,可能都比较熟悉吧,就是由0-255间的数字,并由 . 隔开组成的。定义非常简单,而用正则表达式检验,同样也非常简单。
  下面,我们来看看正则表达式是如何表示的:
/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/
这就是表示IP地址的正则表达式,别吓跑了。下面我们来详细说一下他是如何表示的。首先,我要说明的是开始和结尾的“/”是定界符,不代表什么,而 \A 和 \Z 分别代表开始和结尾,接下来,我们把中间的部分拆成两段,((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3},这是第一段,我们用不同的颜色标出了圆括号的对应位置。最后的{3}表示最红括号里的内容出现3次。而蓝色括号里的就是表示每一位数字的表示。\. 表示 . 号本身,也就是前三个数字后有点号。现在我们分析最关键的地方,如何表示0-255这些数字。即蓝色括号里的内容。
  这些数字可能是一位,两位或三位,我们用符号(|)来表示,当一位或两位时,请看第一个([0-9]?[0-9]) ,问号表示出现0次或1次,这就代表了0-99之间的数字。当数字为三位数时,我们又分三种情况,1-199:我们表示为(1[0-9]{2}),200-249:我们表示为(2[0-4][0-9]),250-255:我们表示为(25[0-5])。这四种能匹配任何一种,都是0-255的范围内,整个前部分的意思就是由三个0-255的数字加小数点组成。后一部分就不用说了,就是前面数字部分的复制。只表示一个数字。现在把它整理成为一个函数。以供参考:

function checkipaddres ($ipaddres) {
$preg=”/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-/本2文来源[email protected]搞@^&代*@码2网搞gaodaima代码9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/”;
if(preg_match($preg,$ipaddres))return true;
return false;
}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在PHP中怎么用正则表达式验证IP地址
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址