遇到过很多应用要验证Email的格式,看过TOMCAT和JAVA的验证源代码,发现有些复杂,不过都是基于RFC2822作为验证指南的,其实验证主要考的是正则表达式的能力,还有就是你对Email的了解,最近看了《AJAX HACK》里面有个Email验证的例子,觉得很不错,所以贴出来与大家一起分享。
xml 代码
- /* Define an Email constructor*/
- function Email(e){
- this.emailAddr=e;
- this.message="";
- this.valid=false;
- }
-
- function validate(){
- //do a basic check for null, zero-length string, ".", "@",
- //and the absence of spaces
- if (this.emailAddr == null || this.emailAddr.length == 0 ||
- this.emailAddr.indexOf(".") == -1 ||
- this.emailAddr.indexOf("@") == -1 ||
- this.emailAddr.indexOf(" ") != -1){
- this.message="Make sure the email address does not contain any spaces "+
- "and is otherwise valid (e.g., contains the \"commercial at\" @ sign).";
- this.valid=false;
- return;
- }
-
- /*Get the user; they cannot begin or end with a "."
- Regular expression specifies: the group of characters before the @ symbol, which
- are made up of word characters, followed by zero or one period char,
- followed by at least 2 word characters. */
- regex=/(^\w{2,}\.?\w{2,})@/;
- _match = regex.exec(this.emailAddr);
-
- if ( _match){
- user=RegExp.$1;
- //alert("user: "+user);
- } else {
- this.message="Make sure the user name is more than two characters"+
- ", does not begin or end with a period (.), or is not otherwise "+
- "invalid!";
- this.valid=false;
- return;
- }
- //get the domain after the @ char
- //first take care of domain literals like @[19.25.0.1] however rare
- regex=/@(\[\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}\])$/;
- _match = regex.exec(this.emailAddr);
-
- if( _match){
- domain=RegExp.$1;
- //alert("domain: "+domain);
- this.valid=true;
- } else {
- /*the @ character followed by at least 2 chars that are not a period (.),
- followed by a period, followed by zero or one instances of at least two
- characters ending with a period, followed by two-three chars that are not periods */
- regex=/@(\w{2,}\.(\w{2,}\.)?[a-zA-Z]{2,3})$/;
- _match = regex.exec(this.emailAddr);
- if( _match){
- domain=RegExp.$1;
- } else {
- this.message="The domain portion of the email had less than 2 chars "+
- "or was otherwise invalid!";
- this.valid=false;
- return;
- }
- }//end domain check
- this.valid=true;
-
- }
-
- //Make validate() an instance method of the Email object
- Email.prototype.validate=validate;
分享到:
相关推荐
`required`和`minlength`是预定义的验证规则,而`email`规则则检查输入是否符合电子邮件格式。当表单验证通过后,`submitHandler`函数会触发表单提交。 通过学习这个例子,你可以了解如何在实际项目中设置和使用...
除了基本的非空检查,还可以进行更复杂的验证,如邮箱格式、电话号码格式等。例如,使用正则表达式进行邮箱验证: ```javascript function isValidEmail(email) { var regex = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-...
Struts1.3 与1.2向比验证框架部分还是有所区别的,该例子通过一个简单的Email的校验,演示如何通过Struts Validate验证框架进行在页面中生成JavaScripte脚本,进行客户端校验。下完后记得评分,资源分就会回来,还能...
在这个例子中,`re.test(email)`会返回一个布尔值,表示输入的邮箱是否符合正则表达式的规则。 #### 三、事件处理 在实际应用中,通常需要通过绑定事件来触发邮箱验证逻辑,而不是像示例代码那样直接调用函数。...
在Delphi编程中,验证邮箱格式的正确性是常见的需求,这通常涉及到字符串处理和正则表达式。这里我们将详细探讨如何使用Delphi的内置函数`StrUtils`来完成这个任务,以及涉及到的相关知识点。 首先,`StrUtils`是...
对于电子邮件验证,可以使用`type="email"`,浏览器会自动进行基础的格式检查。 JavaScript验证提供了更灵活的控制,你可以自定义验证规则,比如添加自定义错误消息,或者执行复杂的逻辑判断。通常,我们会在表单的...
Apache Commons Validator框架提供了对各种数据类型的验证规则,如字符串长度、数字范围、日期格式等。它支持自定义验证规则,并可以与Struts、Spring等其他框架无缝集成,极大地简化了数据验证的工作。 **一、...
例如,`email`类型会自动启用浏览器内置的邮箱格式验证。 要动态修改`input`的`type`属性,可以通过JavaScript的`setAttribute`方法实现。下面是一个简单的例子: ```javascript let inputElement = document....
1. 验证配置文件(Validation.xml):这是定义验证规则的地方,包含各个ActionForm对应的字段及其验证规则,如必填、长度限制、格式校验等。 2. ActionForm:Struts中的业务逻辑对象,用于封装用户提交的数据。每个...
HTML5引入了内置的表单验证功能,例如`required`属性用于强制用户填写字段,`type`属性如`email`、`url`会自动检查输入格式。还有`pattern`属性,允许开发者自定义正则表达式进行复杂验证。 3. **JavaScript验证**...
2. 格式验证:检查输入数据的格式是否符合预设规则,如电话号码和邮箱格式。 3. 范围验证:限制输入值在特定范围内,如密码强度要求或年龄范围。 4. 唯一性验证:验证数据在整个数据库中的唯一性,通常需要与服务器...
在提供的"validator.chm"文件中,可能包含更复杂的验证规则和库,例如使用正则表达式进行复杂格式验证,或者使用预定义的验证函数。这种文件通常是一个帮助文档,详细解释了如何使用特定的验证工具或库,包括其API、...
除了基本的验证规则,插件还支持自定义验证方法,比如检查邮箱格式: ```javascript jQuery.validator.addMethod("email", function(value, element) { return this.optional(element) || /^[a-zA-Z0-9._%+-]+@[a-...
通过查看这些例子,你可以更好地理解如何在实际项目中应用这些概念和技术。 总的来说,Java发送电子邮件涉及到对JavaMail API的熟练使用,理解SMTP协议,以及对邮件格式的理解。通过学习和实践,你可以创建出功能...
本资源"Jquery例子,前后台交互,验证"提供了一系列实用的JavaScript代码示例,主要关注jQuery在网页交互和数据验证中的应用。以下是这些关键知识点的详细解释: 1. **jQuery库的引入**:jQuery库通常通过在HTML...
在这个例子中,我们将深入探讨如何使用Apache Commons Email库在Java中实现邮件发送。 首先,你需要在项目中引入Apache Commons Email的依赖。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...
jQuery Validate插件提供了一系列内置的验证规则,如`required`(必填)、`email`(邮箱格式)、`url`(URL格式)、`number`(数字)、`digits`(纯数字)、`minlength`和`maxlength`(长度限制)等。开发者也可以...