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

下面是一个验证电子邮件的正则表达式

 代码如下 复制代码

var re = /^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/ ;

 代码如下 复制代码

<PRE class=html name="code"><div>
请输入一个有效的邮箱:<br />
<input type="text" size=18 id="email" onFocus="clearForm();" />
<input type="button" onClick="validate();" value="验证" />
</div>
<div id="e-result" style="display:none">
你输入的邮箱是有效的。谢谢!
</div></PRE><BR>

<script language="JavaScript1.2">
function vEmail(){
 var str=document.getElementById('email').value;
 if (str.length == 0){
  alert("邮箱不能为空");
  return false;
 }
 var rule=/^([w-]+(?:.[w-]+)*)@((?:[w-]+.)*w[w-]{0,66}).([a-z]{2,6}(?:.[a-z]{2})?)$/i;
 if (rule.test(str))
  return true;
 else{
  alert("请输入有效邮箱!");
  return false;
 }
}
function validate(){
   if (document.layers||document.getElementById||document.all){
      if(vEmail()){
         document.getElementById('e-result').style.display="block";
      }
   }
}
function clearForm(){
    document.getElementById('e-result').style.display="none";
    document.getElementById('email').value="";
}
</script>

下面我们开始剖析这个正则表达式

re 是一个变量, 用来存储右边的正则表达式,在javascript 中,声明变量使用Var 关键字。

正则表达式的阅读顺序是从左向右的

正则表达式总是以(/) 开头和结尾,斜杠之间的所有内容都是正则表达式的组成部分。

脱字符(^) 表示我们要使用这个表达式来检查以特定字符串开头的字符串。如果去掉脱字符,那么即使字符串开头有一堆垃圾字符,电子邮件地址也可能被认为是有效的。

表达式w 表示任意单一字符,包括a~z 、A~Z 、0~9 或下划线。电子邮件必须这些字符之一开头。

加号+ 表示我们要寻找前面条目的一次或多次出现。

园括号() 表示一个组,这意味着后面要引用圆括号中的所有内容,所以现在将它们放在一个组中。

放括号[] 用来表示可以出现其中的任意一个字符。在这个示例中,方括号内包含字符.- 。我们希望允许用户输入点号或连字符,但是点号对于正则表达式有特殊的意义,所以需要在它前面加上反斜杠, 在特殊字符前加反斜杠表示“对字符转义”,经转义后的字符表示其本身意义。因为有方括号,输入字符串在这个位置可以有一个点号或一个连字符,但是两种不能同时存在。

问号?表示前面的条目可以出现一次或不出现。所以电子邮件地址的第一部分中可以有一个点号或一个连字符,也可以没有。

在?后面,再次使用w+ ,表示点号或连字符后面必须有其他字符。

在()后面出现的* 号,表示前面的条目可以出现零次或多次。所以圆括号中的内容可以出现零次或多次。

@ 字符代表其本身,没有任何其他意义,这个字符位于电子邮件地址和域名之间。

@ 字符后再次出现w+ ,表示@ 后必须出现字符。在此之后,再次出现([.-]?w+)*, 表示电子邮件地址的后缀中允许出现点号或连字符。

然后,在一对圆括号中建立另一个组(.w{2,3}), 表示我们希望找到一个点号,后面跟一些字符。在这个示例中,花括号中的数字表示前面的条目可以出现2 到3 次。在这个组的后面是一个+ 号,表示前面的条目(这个组)必须出现一次或多次。这会匹配.com 或.edu 之类的,也与ox.ac.uk 匹配。

时间: 2024-10-25 19:10:44

js正则表达式验证邮箱代码的相关文章

几款正则表达式验证邮箱代码

在我们做网页时,经常会用到收集用户信息,我们就会碰到验证邮箱是吧,这里为了提供用户体验我们就会用js先作处理再用php教程,jsp教程,asp教程,.net等来处理.下面我们来看几款正则表达式验证邮箱代码吧. 验证邮箱代码一 function is_email($email) { return strlen($email) > 6 && preg_match("/^[w-.]+@[w-.]+(.w+)+$/", $email); } echo is_email($

js正则表达式验证邮箱方法总结

PHP 邮箱验证正则表达式  代码如下 复制代码 preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email ); PHP 邮箱验证正则表达式示例    代码如下 复制代码 <?php function isEmail($email){  if(preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email )

JS正则表达式验证数字代码_javascript技巧

复制代码 代码如下: <script type="text/javascript">     function validate(){       var reg = new RegExp("^[0-9]*$");       var obj = document.getElementById("name");    if(!reg.test(obj.value)){        alert("请输入数字!");

js正则表达式验证URL函数代码(方便多个正则对比)_正则表达式

推荐大家收藏的一段代码,方便同时测试多个正则,查看不同的检测结果,结合chrome完美 核心代码 <script> /** * 正则表达式判断网址是否有效 */ (function(){ "use strict"; var urlDict=[ //Bad Case 'www.baidu.com', //常规网址,未带协议头的地址 'w.baidu.com', //常规网址,短子域名 'baidu.com', //常规网址,仅有主域名 '测试.com', //非常规合法网址,

js正则表达式验证大全(收集)_正则表达式

引用网址  http://hi.baidu.com/quiteuniverse/blog/item/9f3f043d46ad1e07bba16716.html 以下函数调用方式:    function check() { var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID alert(ismobile(bb));//ismobile 代表以下任何一个函数名称 } HTML代码:   <input ty

利用js正则表达式验证手机号,email地址,邮政编码

 利用js正则表达式验证手机号,email地址,邮政编码.需要的朋友可以过来参考下,希望对大家有所帮助 手机号码的验证(13开头和158,159开头,共11位)  代码如下: var re; var ss=document.getElementById('textbox3').value; re= /^(13[0-9]{9})|(15[89][0-9]{8})$/ if(re.test(ss))  {    document.getElementById('label3').innerText=

js正则表达式验证邮件地址_javascript技巧

我们最经常遇到的验证,就是电子邮件地址验证.网站上常见.各种网页脚本也都常用"正则表达式"(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法.有的还能分解出用户名和域名.现在用JavaScript语言实现一下电子邮件地址验证程序,用的是JavaScript语言的正则表达式库. 效果图: 不合法的情况: 合法的情况: 源代码如下,该网页已在IE.Firefox.Chrome上验证通过: <!DOCTYPE html PUBLIC "-/

js正则表达式 验证百分数,要求只能输入0%-100% 之间的数

问题描述 js正则表达式 验证百分数,要求只能输入0%-100% 之间的数 填写举例:0%.50%.100%,可能是0%-100%其中的任何数字,最多小数点后保留2位,例如97.51%/98.32%.? 解决方案 ^(100|[1-9]d|d)(.d{1,2})?%$ 解决方案二: Js中运用正则表达式验证输入是否有特殊字符 . 解决方案三: ^(100|[1-9]d|d)(.d{1,2})?%$ 解决方案四: ^([1-9]{1}[0-9]{0,1}|0|100)(.d{1,2}){0,1}%

java正则表达式验证邮箱、电话号码示例_java

下面的代码使用正则表达式验证输入格式包括了验证邮箱和验证手机号码 复制代码 代码如下: package com.firewolf.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; /**  * 使用正则表达式验证输入格式  * @author liuxing  *  */ public class RegexValidateUtil {  public static void main(String[]