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

yipeiwu_com6年前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);
}

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

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

说实话,不得不佩服。

相关文章

dedecms函数分享之获取某一栏目所有子栏目

以前从来没写过递归(其实想想,对算法完全没概念),刚好有这个需求,试着写了一下,发现也挺容易的,特别记录一下。 数据库是dedecms默认的,dede_arctype是保存栏目的表,re...

php socket方式提交的post详解

<?  /*  ** POST报文到主机  */  function PostToHost($url, $da...

php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码

十进制转换为二进制、八进制、十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数。连接一起就可以了。 复制代码 代码如下: <?php /** *十进...

PHP生成不重复标识符的方法

本文实例讲述了PHP生成不重复标识符的方法。分享给大家供大家参考。具体实现方法如下: 生成唯一不重复的标识我们主要是根据当前的一个时间time然后再转换在md5值,这样几乎是可以保证标签...

php Imagick获取图片RGB颜色值

很多图片站点都会根据用户上传的图片检索出图片的主要颜色值,然后在通过颜色搜索相关的图片。 之前按照网上的方法将图片缩放(或者马赛克)然后遍历每个像素点,然后统计处RGB次数最多的值,这做...