`

验证Email格式的好例子

    博客分类:
  • AJAX
阅读更多

遇到过很多应用要验证Email的格式,看过TOMCAT和JAVA的验证源代码,发现有些复杂,不过都是基于RFC2822作为验证指南的,其实验证主要考的是正则表达式的能力,还有就是你对Email的了解,最近看了《AJAX HACK》里面有个Email验证的例子,觉得很不错,所以贴出来与大家一起分享。

xml 代码
  1. /* Define an Email constructor*/   
  2. function Email(e){   
  3.     this.emailAddr=e;   
  4.     this.message="";   
  5.     this.valid=false;   
  6. }   
  7.   
  8. function validate(){   
  9.     //do a basic check for null, zero-length string, ".", "@",   
  10.     //and the absence of spaces   
  11.     if (this.emailAddr == null || this.emailAddr.length == 0 ||   
  12.         this.emailAddr.indexOf(".") == -1 ||   
  13.         this.emailAddr.indexOf("@") == -1 ||   
  14.         this.emailAddr.indexOf(" ") != -1){   
  15.         this.message="Make sure the email address does not contain any spaces "+   
  16.                      "and is otherwise valid (e.g., contains the \"commercial at\" @ sign).";   
  17.         this.valid=false;   
  18.         return;   
  19.     }   
  20.   
  21.     /*Get the user; they cannot begin or end with a "."   
  22. Regular expression specifies: the group of characters before the @ symbol, which   
  23. are made up of word characters, followed by zero or one period char,   
  24. followed by at least 2 word characters. */   
  25.     regex=/(^\w{2,}\.?\w{2,})@/;   
  26.     _match = regex.exec(this.emailAddr);   
  27.   
  28.     if ( _match){   
  29.         user=RegExp.$1;   
  30.         //alert("user: "+user);   
  31.     } else {   
  32.         this.message="Make sure the user name is more than two characters"+   
  33.                      ", does not begin or end with a period (.), or is not otherwise "+   
  34.                      "invalid!";   
  35.         this.valid=false;   
  36.         return;   
  37.     }   
  38.     //get the domain after the @ char   
  39.     //first take care of domain literals like @[19.25.0.1] however rare   
  40.     regex=/@(\[\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}\])$/;   
  41.     _match = regex.exec(this.emailAddr);   
  42.   
  43.     if( _match){   
  44.         domain=RegExp.$1;   
  45.          //alert("domain: "+domain);   
  46.         this.valid=true;   
  47.     } else {   
  48.         /*the @ character followed by at least 2 chars that are not a period (.),   
  49. followed by a period, followed by zero or one instances of at least two   
  50. characters ending with a period, followed by two-three chars that are not periods */   
  51.         regex=/@(\w{2,}\.(\w{2,}\.)?[a-zA-Z]{2,3})$/;   
  52.         _match = regex.exec(this.emailAddr);   
  53.         if( _match){   
  54.             domain=RegExp.$1;   
  55.         } else {   
  56.             this.message="The domain portion of the email had less than 2 chars "+   
  57.                          "or was otherwise invalid!";   
  58.             this.valid=false;   
  59.             return;   
  60.         }   
  61.     }//end domain check   
  62.     this.valid=true;   
  63.   
  64. }   
  65.   
  66. //Make validate() an instance method of the Email object   
  67. Email.prototype.validate=validate;   
分享到:
评论
3 楼 yangjianxiang2 2008-01-02  
正则表达式 很 简单的
2 楼 77tt77 2008-01-02  
嗯还不错,收藏了!
1 楼 zcfg 2007-12-03  
嗯 先收藏 顺便发一个用于验证email的正则表达式:
/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(txt)

相关推荐

    jQuery表单验证例子

    `required`和`minlength`是预定义的验证规则,而`email`规则则检查输入是否符合电子邮件格式。当表单验证通过后,`submitHandler`函数会触发表单提交。 通过学习这个例子,你可以了解如何在实际项目中设置和使用...

    jquery验证相关好例子

    除了基本的非空检查,还可以进行更复杂的验证,如邮箱格式、电话号码格式等。例如,使用正则表达式进行邮箱验证: ```javascript function isValidEmail(email) { var regex = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-...

    Struts1.3 Validator 验证框架校验Email 例子

    Struts1.3 与1.2向比验证框架部分还是有所区别的,该例子通过一个简单的Email的校验,演示如何通过Struts Validate验证框架进行在页面中生成JavaScripte脚本,进行客户端校验。下完后记得评分,资源分就会回来,还能...

    验证邮箱格式的JS

    在这个例子中,`re.test(email)`会返回一个布尔值,表示输入的邮箱是否符合正则表达式的规则。 #### 三、事件处理 在实际应用中,通常需要通过绑定事件来触发邮箱验证逻辑,而不是像示例代码那样直接调用函数。...

    delphi验证邮箱格式

    在Delphi编程中,验证邮箱格式的正确性是常见的需求,这通常涉及到字符串处理和正则表达式。这里我们将详细探讨如何使用Delphi的内置函数`StrUtils`来完成这个任务,以及涉及到的相关知识点。 首先,`StrUtils`是...

    表单验证例子

    对于电子邮件验证,可以使用`type="email"`,浏览器会自动进行基础的格式检查。 JavaScript验证提供了更灵活的控制,你可以自定义验证规则,比如添加自定义错误消息,或者执行复杂的逻辑判断。通常,我们会在表单的...

    validator独立框架验证小例子

    Apache Commons Validator框架提供了对各种数据类型的验证规则,如字符串长度、数字范围、日期格式等。它支持自定义验证规则,并可以与Struts、Spring等其他框架无缝集成,极大地简化了数据验证的工作。 **一、...

    js动态修改input输入框的type属性及验证Email

    例如,`email`类型会自动启用浏览器内置的邮箱格式验证。 要动态修改`input`的`type`属性,可以通过JavaScript的`setAttribute`方法实现。下面是一个简单的例子: ```javascript let inputElement = document....

    java做的struts验证框架例子

    1. 验证配置文件(Validation.xml):这是定义验证规则的地方,包含各个ActionForm对应的字段及其验证规则,如必填、长度限制、格式校验等。 2. ActionForm:Struts中的业务逻辑对象,用于封装用户提交的数据。每个...

    表单验证demo,包含多种例子

    HTML5引入了内置的表单验证功能,例如`required`属性用于强制用户填写字段,`type`属性如`email`、`url`会自动检查输入格式。还有`pattern`属性,允许开发者自定义正则表达式进行复杂验证。 3. **JavaScript验证**...

    js验证讲解加例子 登录 电话号码 邮箱等验证

    2. 格式验证:检查输入数据的格式是否符合预设规则,如电话号码和邮箱格式。 3. 范围验证:限制输入值在特定范围内,如密码强度要求或年龄范围。 4. 唯一性验证:验证数据在整个数据库中的唯一性,通常需要与服务器...

    javascript表单验证例子

    在提供的"validator.chm"文件中,可能包含更复杂的验证规则和库,例如使用正则表达式进行复杂格式验证,或者使用预定义的验证函数。这种文件通常是一个帮助文档,详细解释了如何使用特定的验证工具或库,包括其API、...

    jquery jquery表单验证实用例子

    除了基本的验证规则,插件还支持自定义验证方法,比如检查邮箱格式: ```javascript jQuery.validator.addMethod("email", function(value, element) { return this.optional(element) || /^[a-zA-Z0-9._%+-]+@[a-...

    java发送email超实用例子

    通过查看这些例子,你可以更好地理解如何在实际项目中应用这些概念和技术。 总的来说,Java发送电子邮件涉及到对JavaMail API的熟练使用,理解SMTP协议,以及对邮件格式的理解。通过学习和实践,你可以创建出功能...

    Jquery例子,前后台交互,验证。

    本资源"Jquery例子,前后台交互,验证"提供了一系列实用的JavaScript代码示例,主要关注jQuery在网页交互和数据验证中的应用。以下是这些关键知识点的详细解释: 1. **jQuery库的引入**:jQuery库通常通过在HTML...

    java邮件发送例子 apache email demo

    在这个例子中,我们将深入探讨如何使用Apache Commons Email库在Java中实现邮件发送。 首先,你需要在项目中引入Apache Commons Email的依赖。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...

    JQuery Validate插件的验证规则和例子,合成AJAX

    jQuery Validate插件提供了一系列内置的验证规则,如`required`(必填)、`email`(邮箱格式)、`url`(URL格式)、`number`(数字)、`digits`(纯数字)、`minlength`和`maxlength`(长度限制)等。开发者也可以...

Global site tag (gtag.js) - Google Analytics