|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。 <?php
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]$",$email)) {
echo "您的 E-Mail 经由过程初步反省";
}
?>
在这句话里,起首是使用了一个eregi函数,这个函数还算好了解。随意找本书,就可以给你一段注释:
语法: int ereg(string pattern, string string, array [regs]);
前往值: 整数/数组
本函数以 pattern 的划定规矩来解析比对字符串 string。
比对了局前往的值放在数组参数 regs 当中,regs[0] 内容就是原字符串 string、regs[1] 为第一个符合划定规矩的字符串、regs[2] 就是第二个符合划定规矩的字符串,余类推。若省略参数 regs,则只是纯真地比对,找到则前往值为 true。
而不太好了解的就是后面的这段正则表达式了:^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]$
在这段正则表达式中,"+"暗示后面的字符串联续呈现一个或多个;"^"暗示下一个字符串必需呈现在开首,"$"暗示前一个字符串必需呈现在开头;
"."也就是".",这里""是本义符;""暗示后面的字符串可以一连呈现2-3次。"()"暗示包括的内容必需同时呈现在方针对象中。"[_.0-9a-z-]"暗示包括在"_"、"."、"-"、从a到z局限内的字母、从0到9局限内的数字中的恣意字符;
如许一来,这个正则表达式可以如许翻译:
"上面的字符必需在开首(^)"、"该字符必需包括在"_"、"."、"-"、从a到z局限内的字母、从0到9局限内的数字中([_.0-9a-z-])"、"后面这个字符最少呈现一次(+)"、@、"该字符串由一个包括在从a到z局限内的一个字母、从0到9局限内的数字中的字符开首,前面跟最少一个包括在"-"、从a到z局限内任何一个字母、从0到9局限内任何一个数字中的字符,最初以.停止(([0-9a-z][0-9a-z-]+.))"、"后面这个字符最少呈现一次(+)"、"从a到z局限内的字母呈现2-3次,并以它停止([a-z]$)"
很冗杂是吧,对了,正由于如许,人们才利用正则表达式。
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。 |
|