PHP 18:data_valid_fns.php 看正则表达式

本章介绍正则表达式。
先看看data_valid_fns.php的代码吧。
 1 <?php
 2 
 3 function filled_out($form_vars)
 4 {
 5   // test that each variable has a value
 6   foreach ($form_vars as $key => $value)
 7   {
 8      if (!isset($key|| ($value == '')) 
 9         return false;
10   } 
11   return true;
12 }
13 
14 function valid_email($address)
15 {
16   // check an email address is possibly valid
17   if (ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $address))
18     return true;
19   else 
20     return false;
21 }
22 
23 ?>
24 
简要介绍一下。
filled_out($form_vars)验证输入的有效性。
valid_email($address)验证email的有效性。它是通过正则表达式进行的。
本章具体介绍正则表达式。
PHP支持POSIX扩展的正则表达式,也支持使用Perl语法兼容的正则表达式。
如果你对正则表达式不是很清楚的话,请参见正则表达式的语法
下面我们分别介绍以下这2种格式的正则表达式
1 POSIX正则表达式函数
   为了使用此功能,你首先要配置PHP,使之支持它。在Windows下安装的话,它会自动配置。但是在其他操作系统下,需要手工配置。
要激活 regexp 的支持,请在配置 PHP 时加上 --with-regex[=TYPE]。TYPE 可以是 system,apache 或 php 之一。默认使用 php。
 支持的函数有:
  •   ereg_replace -- 正则表达式替换
  •   ereg -- 正则表达式匹配
  •   eregi_replace -- 不区分大小写的正则表达式替换
  •   eregi -- 不区分大小写的正则表达式匹配
  •   split -- 用正则表达式将字符串分割到数组中
  •   spliti -- 用正则表达式不区分大小写将字符串分割到数组中
  •   sql_regcase -- 产生用于不区分大小的匹配的正则表达式

2 Perl兼容正则表达式函数
  • preg_grep --  返回与模式匹配的数组单元
  • preg_match_all -- 进行全局正则表达式匹配
  • preg_match -- 进行正则表达式匹配
  • preg_quote -- 转义正则表达式字符
  • preg_replace_callback -- 用回调函数执行正则表达式的搜索和替换
  • preg_replace -- 执行正则表达式的搜索和替换
  • preg_split -- 用正则表达式分割字符串
posted @ 2006-08-15 22:00  张太国  阅读(...)  评论(...编辑  收藏