比较正宗的验证邮箱的正则表达式js代码详解
来源:http://www.jb51.net/article/31182.htm
邮箱正则最正宗的一条正则语句是^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ 下面我们来讲解一下
fuchangxi的正则:
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。
<script type="text/javascript">
function isEmail(str){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
return reg.test(str);
}
var str = 'test@hotmail.com';
document.write(isEmail(str)+'<br />');
var str2 = 'test@sima.vip.com';
document.write(isEmail(str2)+'<br />');
var str3 = 'te-st@qq.com.cn';
document.write(isEmail(str3)+'<br />');
var str4 = 'te_st@sima.vip.com';
document.write(isEmail(str4)+'<br />');
var str5 = 'te.._st@sima.vip.com';
document.write(isEmail(str5)+'<br />');
</script>
我不太了解邮箱的具体规则。感觉这个正则比较简单
统计一下邮箱@前缀的几种类型
1、纯数字
比如:123456@jb51.net
2、纯字母
3、字母数字混合
4、带点的
比如:web.blue@jb51.net
5、带下划线
比如:web_blue@jb51.net
6、带连接线
比如:web-blue@jb51.net
邮箱域至少有一个“.”和两个单词,再严格点那么最后的顶级域至少要2个字母,最大呢?以域名“name”为准,那么最大就是4,宽松点就设为5吧^_^。
当然以上不可能的情况:以“_”或“-”开头或者结尾,包含特殊符号的。
因此,我给出的正则表达式如下:
^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$
<script type="text/javascript">
fChkMail=function(szMail){
var szReg=/^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$/;
var bChk=szReg.test(szMail);
return bChk;
}
</script>
<input type="text" id="Mail" value="" />
<input type="button" value="验证邮箱地址" οnclick="alert(fChkMail(document.getElementById('Mail').value));" />
<p>邮箱不能以 - _ .以及其它特殊字符开头和结束</p>
<p>邮箱域名结尾为2~5个字母,比如cn、com、name</p>
比较正宗的验证邮箱的正则表达式js代码详解相关推荐
- PHP中邮箱地址的正则表达式,php邮箱地址正则表达式实现与详解,邮箱地址正则表达式_PHP教程...
php邮箱地址正则表达式实现与详解,邮箱地址正则表达式 本文章不但要讲述了关于正则达式而且还讲述了关于邮箱正则的构成用法详解,有需要了解的朋友可以参考一下,同时我们也提供了多种不同的邮箱验证实例. 正 ...
- html 登录界面js代码,详解JS实现系统登录页的登录和验证
这篇文章用JS显示表单的登录以及验证和对键盘的监听,这里有两种方法,一种是无需用户验证直接登录,一种是需要账户密码匹配才可登录. 1. html代码 登 录 2.CSS样式 .content{ pad ...
- 关于日期正则表达式的思路详解
1 概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好. 前几天在CSDN ...
- 验证曲线( validation curve)是什么?如何绘制验证曲线( validation curve)?验证曲线( validation curve)详解及实践
验证曲线( validation curve)是什么?如何绘制验证曲线( validation curve)?验证曲线( validation curve)详解及实践 验证曲线( validation ...
- js 浅拷贝直接赋值_JS中实现浅拷贝和深拷贝的代码详解
(一)JS中基本类型和引用类型 JavaScript的变量中包含两种类型的值:基本类型值 和 引用类型值,在内存中的表现形式在于:前者是存储在栈中的一些简单的数据段,后者则是保存在堆内存中的一个对象. ...
- dreamweaver 正则表达式为属性值加上双引号_PHP正则表达式核心技术完全详解 第2节...
PHP 正则表达式核心技术完全详解 第2节 接上一节内容 1 普通字符作为原子 /5/ 用于匹配字符串中是否有5这个字符出现 /php/ 用于匹配字符串中是否有PHP字符串出现 / / 匹配空字符串 ...
- EditPlus正则表达式替换字符串详解
EditPlus正则表达式替换字符串详解 发布时间:April 8, 2007 分类:Regular <PHP 实现多服务器共享 SESSION 数据> <利用javascript在 ...
- Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)
Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一) 本文目录: 一.[旋转的精灵女孩]案例运行效果 二.Three.js简介 三.Three.js代码正常运行显示条件 (1)不载入 ...
- Python爬虫JS解密详解,学会直接破解80%的网站(一)!!!
文章目录 1.网页查看 2.有道翻译简单实现源码 3.JS解密(详解) 4.python实现JS解密后的完整代码 4.1.实现效果 5.JS解密后完整代码升级版 5.1.实现效果 CSDN独家福利降临 ...
最新文章
- android笔记1——开发环境的搭建
- 查找nginx安装的路径以及相关安装操作命令
- 034:DTL常用过滤器(3)
- linux下前一天时间格式
- java方法示例注释 @_Java注释和真实世界的Spring示例
- 函数【Python】
- YoLo 实践(1)
- 协同过滤算法概述与python 实现协同过滤算法(usr-item,item-item)
- 区块链技术之P2P网络(一)
- 计算机网络实验四协议分析心得,计算机网络原理实验_使用网络协议分析仪Wireshark...
- python自定义拼音输入法_用Python从0开始实现一个中文拼音输入法的思路详解
- with admin option和with grant option的区别与用法
- [学习经验] 孩子到底什么时候学习自然拼读和国际音标?
- 大家敏捷,才是真的敏捷——记敏捷培训
- mysql卡库,Lemon谐音歌词_米津玄师Lemon的日语中文唱法音译
- ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet:学习教程目录
- android 深度自定义View
- ctf网络安全大赛web
- Centos7 编译安装git 报错 git-compat-util.h:14:2: error
- 【面试题】从123456中取出三个数,取出三个不同数的概率是多少?
热门文章
- js获取url中的参数,url中传递中文的时候通过js解码的方式
- 华为android系统最新版,谷歌再放大招截胡鸿蒙系统!发布最新版安卓系统:国产手机抢先升级...
- ROI Pooling层解析
- (一)ubuntu下qtcreator +opencv下新建一个项目和调用caffe环境配置
- solver.prototxt文件里面参数含义及其设置
- modelsim与modelsim_altera使用的一些区别
- 科技行业风投日趋谨慎:VR、机器学习和汽车值得关注
- CCNA--OSI、TCP/IP
- 基于ZooKeeper的Dubbo简单抽样登记中心
- J-LINK序列号修改