您的位置:首页 > 编程语言 > PHP开发

PHP preg_match正则表达式详解

2011-04-20 16:48 1431 查看
PHP正则表达式规则匹配是什么呢?这就是PHP preg_match正则表达式的使用,那么对于PHP preg_match正则表达式我们需要注意什么呢?这里向你通过实例的使用向你详细介绍。

  PHP preg_match正则表达式的使用:

 PHP正则表达式规则匹配是什么呢?这就是PHP preg_match正则表达式的使用,那么对于PHP preg_match正则表达式我们需要注意什么呢?这里向你通过实例的使用向你详细介绍。

  PHP preg_match正则表达式的使用:

  利用 preg_match(),我们可以完成字符串的规则匹配。如果找到一个匹配,preg_match() 函数返回 1,否则返回
0。还有一个可选的第三参数可以让你把匹配的部分存在一个数组中。在验证数据时这个功能可以变得非常有用 SUN JAVA Certification

$string = "football";  

if (preg_match('/foo/', $string)) {  

// 匹配正确  

} 


  上面的例子将成功匹配,因为单词 football 里面包含 foo。现在我们来试一个更复杂的,例如验证一个 Email 地址。

$string = "first.last@domain.uno.dos";  

if (preg_match(  

'/^[^0-9][a-zA-Z0-9_]+  

([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+  

([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',  

$string)) {  

// 验证Email地址  

} 


  这个例子将验证出此 Email 地址为正确格式。

  PHP preg_match正则表达式的规则:

  通过上面实例的演示我们来了解下这段正则表达式所代表的各种规则。

  PCRE 顾名思义,与在 Perl 中的正则表达式有相同的语法,所以每段正则表达式必须要有一对定界符。我们一般使用 / 为定界符。

  开头的 ^ 和结尾的 $ 让PHP从字符串开头检查到结尾。假使没有 $,程序仍会匹配到 Email 的末尾。

  ◆[ 和 ] 被用来限制许可输入类型。例如 a-z 允许所有的小写字母,A-Z 允许所有的大写字母,0-9 所有数字,等等,以及更多其他类型。

  ◆{ 和 } 被用来限制期望的字符数。例如 {2,4} 表示字符串的每一节可以有 2-4 字符长度,像是 .com.cn 或 .info。在这里, "." 并不算一个字符,因为 {2,4} 之前定义的许可输入类型只有大小写字母,故此段只匹配大小写字母

  ◆( 和 ) 被用来合并小节,并定义字符串中必须存在的字符。(a|b|c) 能够匹配 a 或 b 或 c。

  ◆(.) 将匹配所有字符,而 [.] 只匹配 "." 本身。

  要使用一些符号本身,必须在前增加一个 。这些字符有:( ) [ ] . * ? + ^ | $

  PHP preg_match正则表达式的相关内容就向你介绍到这里,希望对你了解和掌握PHP preg_match正则表达式有所帮助。

<?php

function is_email($str){

//检验email

return
preg_match("/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/",
$str);

}

function is_url($str){

//检验网址

return
preg_match("/^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"])*$/",
$str);

}

function is_qq($str){

//检验qq

return
preg_match("/^[1-9]/d{4,8}$/", $str);

}

function is_zip($str){

//检验邮编

return
preg_match("/^[1-9]/d{5}$/", $str);

}

function is_idcard($str){

//检验身份证

return
preg_match("/^/d{15}(/d{2}[A-Za-z0-9])?$/", $str);

}

function is_chinese($str){

//检验是否是中文

return
ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str);

}

function is_english($str){

//检验是否是英文

return
preg_match("/^[A-Za-z]+$/", $str);

}

function is_mobile($str){

//检验是否是手机

return
preg_match("/^((/(/d{3}/))|(/d{3}/-))?13/d{9}$/", $str);

}

function is_phone($str){

//建云那是否是电话

return
preg_match("/^((/(/d{3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}$/",
$str);

}

function is_safe($str){

return
(preg_match("/^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/////'/"]*)|.{0,5})$|/s/",
$str) != 0);

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: