js和php邮箱地址验证的实现方法

yipeiwu_com5年前PHP代码库

邮箱地址验证有很多方法。在浏览器端,js邮箱验证可以通过正则表达式检测。

比如:

复制代码 代码如下:

function isEmail(email) {
    return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(email);
}

调用很简单:

复制代码 代码如下:

if (isEmail('youremail@yourdomain.com')){ console.log('This is email is valid'); }

如果是进行服务器端验证。像php,则最简单的莫过于:

复制代码 代码如下:

/*
 * 邮箱地址合法性验证
 */

function isEmail($mail_address) {
    return filter_var($mail_address, FILTER_VALIDATE_EMAIL);
}

但是这个件事也可以整得复杂。

像这位。他建立起一整套的邮箱地址验证网站体系。估计很少人这么干。

说实话,不得不佩服。

相关文章

对象失去焦点时自己动提交数据的实现代码

对象失去焦点时自己动提交数据的实现代码

解决这个问题,得需要使用onblur来实现。下面代码并非是专案实现代码,只是模拟相同的功能。 复制代码 代码如下: <!--Ajax实现页面不闪烁,一直是Insus.NET所喜欢使...

输入值/表单提交参数过滤有效防止sql注入的方法

输入值/表单提交参数过滤,防止sql注入或非法攻击的方法: 复制代码 代码如下: /** * 过滤sql与php文件操作的关键字 * @param string $string * @r...

sphinx增量索引的一个问题

但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示: [Sun Apr 17 19:30:01.876 2011] [ 3400] WARNING: rotating inde...

PHP实现的简单路由和类自动加载功能

本文实例讲述了PHP实现的简单路由和类自动加载功能。分享给大家供大家参考,具体如下: 项目目录如下 入口文件index.php <?php define('WEBROO...

数据库查询记录php 多行多列显示

复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or...