![]() |
|
|||||||
| 代码交流 ASP,PHP,JSP等网站源代码下载与交流。 |
|
|
Thread Tools | Display Modes |
|
#1
IP: 222.76.215.18
|
|||
|
|||
|
电子邮件账户遵循特定的格式,它必须由字符、数字或破折号开始,之后可以有任意数量的上述字符及句点,接着是“@”和域名。域名包含任意数量的“单词”及分隔它们的句点,而这些“单词”是由字符、数字和破折号组成的。最后一个后缀必须是2~6个字符长。(有些程序员只允许2或3个字符,这是不对的,因为没有考虑到最新的顶级域名,如.museum。)程序清单11.7.1所用的检验方法会允许足够短但不是真正有效的顶级域名,比如.books,但与搜索冗长的有效域名列表相比,这种方法简单多了。
程序清单11.7.1 电子邮件地址检验 <?php // A function to check validity of email accounts: function validate_email($address) { // Check against a massive regex for validity ... return preg_match( '/^[a-z0-9_-][a-z0-9._-]+*([a-z0-9][a-z0-9-]*\.)+[a-z]{2,6}$/i', $address); } // Run against various email accounts $email = array('author*eliw.com', 'bob_123.3*a.b.c.r5-5.museum', 'mrmrmr*bob.lawnmower', '$bob$*gmail.com', 'bob*gmail'); // Loop over these values, determine if they are valid emails or now. foreach ($email as $e) { // Validate: $output = validate_email($e); // Prepare the display, either 'BAD' or 'GOOD' $disp = ($output == false) ? 'BAD' : 'GOOD'; echo "<p>{$e} = {$disp}</p>\n"; } ?> 当然,这段代码只是检验输入的电子邮件地址是否属于有效范围,而且只允许使用最常见的形式。现实中存在着一些其他形式,需要对代码进行少许修改才能适应。特别是主机名应该可以用包围在方括号里的IP地址表示;用户名也应该可以用双引号包围的字符串表示,其中允许包含空格。但在当今的互联网上,这种情况是很少见的。 |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Php教程.经验技巧(上) | sunshine | 代码交流 | 0 | 2006-12-15 08:13 PM |
| Php入门速成 | smiling | 代码交流 | 0 | 2006-12-15 07:30 PM |
| 利用单元测试在每个层上对php代码进行检查 | smiling | Discuz/SupeSite/X-Space | 0 | 2006-11-03 12:25 PM |
| php.ini中文解释 | sunshine | 服务器环境搭建 | 0 | 2006-02-04 11:05 PM |
| winxp下安装全新的apache,php(5.0),mysql(5.0)... | topvip | 服务器环境搭建 | 0 | 2006-01-08 10:28 PM |