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

原文: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 -- 用正则表达式分割字符串
时间: 2024-11-05 17:22:28

PHP 18:data_valid_fns.php 看正则表达式的相关文章

PHP系列目录

原文:PHP系列目录PHP系列的对象是已经熟悉了一门或多门语言的开发人员.如果你是其中一份子,而且你也打算学习PHP,相信你根据本系列会很快掌握PHP的.欢迎大家给出意见或建议.同时也欢迎大家的批评与板砖.目录如下: PHP 1:在Windows上安装和配置PHP,Apache和My SQL PHP 2:从一个实例介绍学习方法 PHP 3:从Login界面谈PHP标记 PHP 4:从Login进一步看到的 PHP 5:PHP语法导向 PHP 6:PHP 基本数据类型 PHP 7: PHP 变量和

URL重写可删节日期模式---正则表达式之强力应用

日期|正则 最近忙着自己的博客程序,自然而然就转到了博客中老生长谈的URL重写问题.一个原因是在多用户博客系统中的一个面子问题,本来想拿我的CSDN博客http://blog.csdn.net/joshualang来说事,想想还是用我的空间(http://www.tyoo.net)吧,因为这是我的博客完功之后的去所了. 像http://www.tyoo.net/blog/joshualang 如若不进行必要的URL重写,就会出http://www.tyoo.net/blog/default.as

javascript正则表达式基础知识入门

  很长时间没看正则表达式了,碰巧今天用到,温故知新了一把,这里记录下来,分享给大家,都是些基础的知识,重点给大家讲解的是正则表达式中4种常用的方法,50% 的举一反三练习中的原创. 正则表达式的好处到底在哪里呢,下面我们先进行个了解: 我们用js中处理字符串的方法,写出取出字符串中数字的函数: ? 1 2 3 4 5 6 7 8 9 10 11 var str='dgh6a567sdo23ujaloo932'; function getNumber(obj){ var arr=[]; for

20个正则表达式必知(能让你少写1,000行代码)_正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.字符集合.字符范围.字符间的选择或者所有这些组件

20个正则表达式必知(能让你少写1,000行代码)

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.字符集合.字符范围.字符间的选择或者所有这些组件

知道这20个正则表达式你能少写1000行代码

  正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑.熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升.下面是@技匠 整理的,在前端开发中经常使用到的20个正则表达式. 正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码: var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/; var r = fieldValue.match(reg);

notepad++正则表达式

  正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率. 表达式 说明 t 制表符. n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc". [] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 &quo

技海无涯:正则表达式相关的知识和技术(1)——表达式

正则表达式,看似简单,实则博大精深.简简单单几个字符:|.*.(.)--却能够演绎出无穷无尽的变化.初看正则表达式,其实就是一串子字符串,但隐藏在这字符串背后的各种各样的知识.技能.技巧,却一点也不简单. 以前在学习<编译原理(龙书)>的时候,也是一目十行的将其跳过,这次偶尔需要用到正则表达式,然后自己就上网搜了搜,结果发现水不是一般的深,耗费了3个晚上的时间搜索.查阅,才稍微理清了这些相关知识的关系和脉络,于是稍作整理归纳,既为了加深自己的理解,也为了共享给各位. 在正式开始之前,先将相关东

18年前入职阿里的那些外国人,后来怎么样了?

9月8日,在阿里巴巴庆祝18岁成人礼的时候,我们迎来了一群特殊的校友:他们是阿里最早的一批外籍员工,入职时间大都在1999年到2000年之间. 听说今年阿里巴巴要开18周年年会的消息后,校友们激动地写来了一封信.信中回忆了他们刚加入阿里时的情景,以及和马云之间的一些趣事. "第一次去印度,刚下飞机,路上出现了一头牛,马云很兴奋地叫,有牛,有牛!在印度,牛很特殊." 回首往事,他们相约一起回来,看看阿里这些年的变化."虽然离开了这么多年,但我们还是阿里人." 最早的阿