Home  >  Article  >  php教程  >  巧用PHP正则表达式判断IP地址

巧用PHP正则表达式判断IP地址

WBOY
WBOYOriginal
2016-06-21 08:51:021722browse

学习PHP时,你可能会遇到判断PHP正则表达式问题,这里将介绍PHP正则表达式问题的解决方法,在这里拿出来和大家分享一下。在一些查询网站和搜索引擎,常常用到判断某字符串是否为标准的IP地址。

比如在百度里搜索某IP地址,会显示该IP的信息,而不符合标准的IP地址是不显示IP信息的。这时就要判断该字符串是否为标准的IP了,最常用的方法是用PHP正则表达式判断。在网上搜了一些判断IP地址的正则,都是过于简单的,有的只是判断IP字段不大于255,其实还有很多需要判断的,比如只能是数字,且不能为负数,还有用“.”分割只有4段等等。最好我整理了一个自我感觉完美的函数,代码如下:

 


  1. 		functionis_ip($gonten){  
  2. $ip=explode(”.”,$gonten);  
  3. for($i=0;$i
  4. {  
  5. if($ip[$i]>255){  
  6. return(0);  
  7. }  
  8. }  
  9. returnereg(”^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$”,$gonten);  

$gonten为要查询的字符串,用is_ip($gonten)就可以判断了,返回FALSE和TRUE。

1.eregi语句不区分大小写判断


  1. 		if(eregi("^[a-zA-Z0-9]{8,10}$","999999999"))echo"是八到十位的数字与字母"; 

2.以区分大小写的方式替换文本的ereg_replace


  1. 		$string="Thisisatest";  
  2. //替换is为was  
  3. echoereg_replace("is","was",$string); 

还可以使用\来反引用小括号里的字符0表示全部1表示第一个匹配的字符串以此类推最多9个!具体手册不区分大小写替换文本的eregi_replace用法同上

3.区分大小写的方式划分字符串为不同元素split语句


  1. 		print_r(split("[\n\t]","我爱\n北京\t天安门")); 

不区分大小写的划分:spliti语句用法同上

4.调节只支持区分大小写的正则表达式sql_regcase


  1. 		$name="xuandun";  
  2. echosql_regcase($name);  



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn