-2

我有一个功能(有效)并检查电子邮件地址是否有效。我了解它的大部分工作原理,除了当有一封看起来不错的电子邮件时实际测试的部分。

这是如何运作的:

 if ( preg_match("/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i", $email) ) {
        $valid_address = true;
      } else {
        $valid_address = false;
      }
    } 

我不太了解 preg_match,所以这看起来几乎是随机字符。

4

2 回答 2

4

不要preg_match用于验证电子邮件。PHP为此提供了一个内置函数。

filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)

也就是说,preg_match运营商是有据可查的。

于 2013-07-12T14:13:06.430 回答
1

首先, preg_match 这里有文档:http: //php.net/manual/en/function.preg-match.php

但听起来你真正想知道的是正则表达式(那串疯狂的字符): 学习正则表达式

第二个答案有一个不错的概述。

于 2013-07-12T14:17:42.577 回答