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);
}

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

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

说实话,不得不佩服。

相关文章

解析PHP将对象转换成数组的方法(兼容多维数组类型)

复制代码 代码如下: /**  * @author 【宜配屋www.yipeiwu.com】  * @date 2013-6-21  * @tod...

php foreach、while性能比较

foreach是对数组副本进行操作(通过拷贝数组),而while则通过移动数组内部指标进行操作,一般逻辑下认为,while应该比foreach快(因为foreach在开始执行的时候首先把...

基于php的CMS中展示文章类实例分析

本文实例讲述了基于php的CMS中展示文章类。分享给大家供大家参考。具体分析如下: <?php /***********************************...

php实现数组按指定KEY排序的方法

本文实例讲述了php实现数组按指定KEY排序的方法。分享给大家供大家参考。具体实现方法如下: function array_sort($arr,$keys,$orderby='asc...

php使用文本统计访问量的方法

本文实例讲述了php使用文本统计访问量的方法。分享给大家供大家参考,具体如下: 方法1: $fp = fopen("counter.txt", "r+"); while(!flock...