2013-06-01 221 views
0

我完全不知道任何正则表达式。我试图在PHP注册脚本中执行电子邮件验证(以检查是否输入了有效的电子邮件)。我有一个来自互联网的脚本,但我不知道它是如何工作的,我完全不熟悉所使用的功能。我发现他们使用的函数(eregi_replace())已被弃用,而被preg_replace()所青睐。首先,有人能指导我通过下面的功能的步骤,其次,你能解释preg_replace()函数及其工作原理吗? 验证脚本:开始正则表达式

$regex = "([a-z0-9_.-]+)". # name 
      "@". # at 
      "([a-z0-9.-]+){2,255}". # domain & possibly subdomains 
      ".". # period 
      "([a-z]+){2,10}"; # domain extension 
     $eregi = eregi_replace($regex, '', $email); 
     $valid_email = empty($eregi) ? true : false; 

剧本是从here

回答

4

正则表达式的来源在这里没有必要:

filter_var('[email protected]', FILTER_VALIDATE_EMAIL); 

如果你想训练我建议你去http://www.regular-expressions.infohttp://php.net

要快速测试图案,您可以使用此在线工具:http://regex.larsolavtorvik.com/

+0

谢谢!这个功能是什么? – imulsion

+0

@imulsion:php有很多验证过滤器,请参阅:http://php.net/manual/en/function.filter-var.php –

+0

当它让我:)时会接受答案:) – imulsion