比较正宗的验证邮箱的正则表达式js代码详解

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="验证邮箱地址" onclick="alert(fChkMail(document.getElementById('Mail').value));" />

<p>邮箱不能以 - _ .以及其它特殊字符开头和结束</p>

<p>邮箱域名结尾为2~5个字母,比如cn、com、name</p>

时间: 2024-08-14 23:03:59

比较正宗的验证邮箱的正则表达式js代码详解的相关文章

比较正宗的验证邮箱的正则表达式js代码详解_正则表达式

fuchangxi的正则: 复制代码 代码如下: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-.然后是点"."和单词字符和-的组合,可以有一个或者多个组合. 复制代码 代码如下: <script type="text/javascript"> function isEmail(str){ var reg =

验证邮箱的正则表达式js代码详解

fuchangxi的正则:  代码如下 复制代码  /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-.然后是点"."和单词字符和-的组合,可以有一个或者多个组合.  代码如下 复制代码  <script type="text/javascript">  function isEmail(str){   var r

表单验证正则表达式实例代码详解_javascript技巧

表单验证正则表达式具体内容如下所示: 首先给大家解释一些符号相关的意义      1.  /^$/ 这个是个通用的格式.          ^ 匹配输入字符串的开始位置:$匹配输入字符串的结束位置      2. 里面输入需要实现的功能.         * 匹配前面的子表达式零次或多次:        + 匹配前面的子表达式一次或多次:        ?匹配前面的子表达式零次或一次:        \d  匹配一个数字字符,等价于[0-9] 下面通过一段代码给大家分析表单验证正则表达式,具体代

php邮箱地址正则表达式实现与详解

正则表达式了  代码如下 复制代码 ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ 在这段正则表达式中,"+"表示前面的字符串连续出现一个或多个:"^"表示下一个字符串必须出现在开头,"$"表示前一个字符串必须出现在结尾: "."也就是".",这里""是转义符:"{2,3}"表示前面的字符串可以连续出现2-3次.&quo

php中邮箱地址正则表达式实现与详解_php技巧

首先附上代码 复制代码 代码如下: ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ 在这段正则表达式中,"+"表示前面的字符串连续出现一个或多个:"^"表示下一个字符串必须出现在开头,"$"表示前一个字符串必须出现在结尾: "."也就是".",这里""是转义符:"{2,3}"表示前面的字符串可以连续出现2-3次.&quo

js正则表达式常用函数详解(续)_正则表达式

正则表达式对象的方法 1.test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式.如果存在则返回 true,否则就返回 false. 2.exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组. 3.compile,把正则表达式编译为内部格式,从而执行得更快.正则表达式对象的属性 1.source,返回正则表达式模式的文本的复本.只读. 2.lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置. 3.input ($_),返回执

js正则表达式常用函数详解(续)

正则表达式对象的方法 1.test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式.如果存在则返回 true,否则就返回 false. 2.exec,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组. 3.compile,把正则表达式编译为内部格式,从而执行得更快. 正则表达式对象的属性 1.source,返回正则表达式模式的文本的复本.只读. 2.lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置. 3.input ($_),返回

关于日期正则表达式的思路详解

1        概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好. 前几天在CSDN多个版块看到需要日期正则的帖子,所以整理了这篇文章,和大家一起讨论交流,如有遗漏或错误的地方,还请大家指正. 日期正则一般是对格式有要求,且数据不是直接由用户输入时使用.因应用场景的不同,写出的正则也不同,复杂程度也自然不同.正则的书写需要根据具体情况具体分析,一个基本原则就是:只写合适的,不写复杂

javascript类型系统_正则表达式RegExp类型详解_javascript技巧

前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将介绍正则表达式的RegExp对象,以及正则表达式涉及 到的属性和方法 对象 javascript中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法:另一种是构造函数写法 Perl写法 正则表达式字面量写法,又叫Perl写法,因为javascript的正则表达式特性