三、 处理常规表达式
我们稍微讲讲用ereg()和eregi()两个函数处理常规表达式。前面我已提过,这些函数有的很简单,有的很复杂,看您的实际需要而定。
使用常规表达式,您能够对一个字符串进行检查,搜索其中的一些结构模式,判定这些模式是否满足您的规定。最普遍的用法包括检查电子邮件地址是否有效(当然,即使这种办法判定有效,也不能确保邮件地址真的存在)。
我们在这里不细究常规表达式的复杂细节了,仅仅给出几个实例。您能够使用上一页中用过的表格 - 把相应的程式代码复制过来,添加到下面的代码段中,就能够看到他是怎样工作的。
首先,我们要确保表格中各栏只能输入字母。下面的常规表达式在用户输入一个或多个小写字母时判定为真,而输入数字是不允许的:
if (!ereg("[a-Z]", $first) || !ereg("[a-Z]", $last)) { 现在我们更进一步,检查字符串的长度是否是四到六位字符长。用[[:alpha:]]是检查字符是不是字母的简单方式。大括号内的数字检查字符个数。还要说明的是,^ 和 $ 分别代表字符串的开始和结束。
if (!ereg("^[[:alpha:]]{4,6}$", $first) || !ereg("^[[:alpha:]]{4,6}$", $last)) { 最后,我们来构造一个常规表达式,来检验电子邮件地址的有效性。这种检验方式的效果已引发了相当多的讨论。没有什么东西是十全十美的,但是我下面给出的这段程式还是十分奏效的。
我这段宝贝程式是从PHP邮件讨论组上得来的。那可是个好去处 - 常去看看吧。不错,这段程式看起来是有点乱糟糟的。
if (!ereg('^[-!#$%&\'* \\./0-9=?A-Z^_`a-z{|}~] '.
'@'.
'[-!#$%&\'* \\/0-9=?A-Z^_`a-z{|}~] \.'.
'[-!#$%&\'* \\./0-9=?A-Z^_`a-z{|}~] $', $last)) {
别花太多时间来细究这段代码了,还是先到下一页内容吧。>>
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



