PHP 验证Email的函数

<?php

function validateEmail($email)

{

   $isValid = true;

   $atIndex = strrpos($email, "@");

   if (is_bool($atIndex) && !$atIndex)

   {

      $isValid = false;

   }

   else

   {

      $domain = substr($email, $atIndex+1);

      $local = substr($email, 0, $atIndex);

      $localLen = strlen($local);

      $domainLen = strlen($domain);

      if ($localLen < 1 || $localLen > 64)

      {

         // local part length exceeded

         $isValid = false;

      }

      else if ($domainLen < 1 || $domainLen > 255)

      {

         // domain part length exceeded

         $isValid = false;

      }

      else if ($local[0] == ‘.‘ || $local[$localLen-1] == ‘.‘)

      {

         // local part starts or ends with ‘.‘

         $isValid = false;

      }

      else if (preg_match(‘/\\.\\./‘, $local))

      {

         // local part has two consecutive dots

         $isValid = false;

      }

      else if (!preg_match(‘/^[A-Za-z0-9\\-\\.]+$/‘, $domain))

      {

         // character not valid in domain part

         $isValid = false;

      }

      else if (preg_match(‘/\\.\\./‘, $domain))

      {

         // domain part has two consecutive dots

         $isValid = false;

      }

      else if

(!preg_match(‘/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\‘*+?^{}|~.-])+$/‘,

                 str_replace("\\\\","",$local)))

      {

         // character not valid in local part unless

         // local part is quoted

         if (!preg_match(‘/^"(\\\\"|[^"])+"$/‘,

             str_replace("\\\\","",$local)))

         {

            $isValid = false;

         }

      }

      if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A")))

      {

         // domain not found in DNS

         $isValid = false;

      }

   }

   return $isValid;

}

?>

时间: 2024-10-10 12:49:10

PHP 验证Email的函数的相关文章

PHP 表单验证 - 验证 E-mail 和 URL

本节展示如何验证名字.电邮和 URL. PHP - 验证名字 以下代码展示的简单方法检查 name 字段是否包含字母和空格.如果 name 字段无效,则存储一条错误消息: $name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格!"; } 注释:preg_match() 函数检索字符串的模式,如果模式存在则

[转]验证E-mail、用户名、社保号、IP地址等10个实用的PHP正则表达式

1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. $email = "[email protected]"; if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) { echo "Your email is ok.";

delphi验证email地址的正则表达式验证function

user PerlRegEx; function CheckEmail(EmailAddr: string): Boolean;//验证Emailvar PerlRegEx: TPerlRegEx;begin PerlRegEx := TPerlRegEx.Create(nil); PerlRegEx.Subject := EmailAddr; PerlRegEx.RegEx := '\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*'; Result :=

如何验证 Email 地址:SMTP 协议入门教程

Email 是最常用的用户识别手段. 开发者常常需要验证邮箱的真实性.一般的方法是,注册时向该邮箱发出一封验证邮件,要求用户点击邮件里面的链接. 但是很多时候(比如要搞邮件营销时),拿到的是成千上万现成的 Email 地址,不可能通过回复确认真实性,这时该怎么办呢? 答案就是使用 SMTP 协议.本文将介绍如何通过该协议验证邮箱的真假. 另外,结尾处还有一则移动端 H5 开发的培训消息,欢迎关注. 一.SMTP 协议简介 SMTP 是"简单邮件传输协议"(Simple Mail Tra

《精通正则表达式》笔记 --- “验证”Email格式

写一个正则表达式的三个步骤: 理解需求并找出你需要验证的数据的特征: 写一个还可以用的正则表达式: 看看能不能达到你的目的,同时想想会不会匹配到一些不想要的数据: [可选]性能优化 我觉得写一个正则表达式可以简单的分为这么几个步骤. 好了,现在要验证一个电子邮件的地址的合法性. 首先,一般我们会在一些注册的时候验证用户输入的邮箱是否合法,但是我们在这一步能够做的验证其实是很少很少的,因为我们只能够保证用户输入的是一个合法的邮箱.但是我们没办法保证输入的是一个有效的邮箱,唯一验证邮箱是否有效的方法

SQL Server 验证身份证合法性函数(使用VBScript.RegExp)

原文:SQL Server 验证身份证合法性函数(使用VBScript.RegExp) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wzy0623/article/details/53895680 -- 建立正则表达式测试函数 CREATE FUNCTION dbo.RegExpTest ( @source VARCHAR(5000), --需要匹配的源字符串 @regexp VARCHAR(1000), --正则表达式 @ignorecas

随笔 | C++ 如何验证email是否有效?

我一直都不知道还有这个函数,真是不专业.今天读<C++ Primer>到字符串这一章才明白了很多很方便的玩法: bool verify_email(const std::string& email) { const std::string verify_code = "[email protected]"; if (email.find_first_not_of(verify_code) != std::string::npos) return false; ret

CXF 入门:创建一个基于WS-Security标准的安全验证(CXF回调函数使用)

注意:以下客户端调用代码中获取服务端ws实例,都是通过CXF 入门: 远程接口调用方式实现 以下是服务端配置 ======================================================== 一,web.xml配置,具体不在详述 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.

文本输入框和下拉菜单特效-用正则表达式验证E-mail格式

———————————————————————————— <script type="text/javascript">                        //格式校验            function validateInput(){                //获得文本框的DOM                var myText = document.getElementById("myText");