`

正则表达式 -- 邮件地址验证解析[转]

    博客分类:
  • JS
 
阅读更多

      正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串。使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本。其实,正则表达式是值得大 家花时间学习的。正则表达式不仅在javaScript 中有用,在其他许多地方也可以使用正则表达式,例如其他编程语言(比如Perl,Java,C#,Python 和PHP ),Apache 配置文件以及BBEdit 和TextMate 等文本编辑器。甚至Adobe Dreamweaver 和Microsoft Word( 在一定程度上) 使用正则表达式也可以实现更强大的搜索和替换。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      最后,正则表达式的末尾是一个美元符号$ ,表示匹配的字符串必须在这里结束。斜杠结束正则表达式。

 

本文转自http://www.cnblogs.com/Dannier/archive/2010/11/06/RegExp.html

 

分享到:
评论

相关推荐

    正则表达式-常用正则表达式大全

    2. **验证电子邮件地址**:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - **解释**: - `^\w+([-+.]\w+)*`:以字母数字开头,允许包含中划线、加号或句点; - `@`:必须包含一个@符号; - `\w+([-.]\w+)*`...

    java正则表达式----pdf文档 简明扼要

    验证电子邮件地址是一个常见的应用场景,使用正则表达式可以方便地完成这一任务。 ```java public static boolean validateEmail(String text) { String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+...

    正则表达式--常用的

    - 解析:这是一个较为复杂的正则表达式,用于验证电子邮件地址的格式是否正确。 - **匹配Internet URL**:`^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` - 解析:该正则表达式用于验证以`http://`开头的Internet...

    使用正则表达式验证E-mail格式

    为了简化匹配,我们可以忽略一些复杂情况,比如Comments和Quoted-string,创建一个基本的正则表达式来验证E-mail地址的常见格式。以下是一个常用的正则表达式模板: ```regex ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\....

    Delphi 10.4 最新版正则表达式(TRegExpr)源码

    这对于输入形式的用户输入验证特别有用-验证电子邮件地址等。您还可以从网页或文档中提取电话号码,邮政编码等,在日志文件中搜索复杂的模式,然后您就可以想象得到。无需重新编译程序即可更改规则(模板)。...

    正则表达式列举 代码 项目中直接使用

    这是一个用于验证电子邮件地址的常见正则表达式。它包括用户名部分(可能包含字母数字字符及`-+.`),`@`符号,域名部分(可能包含字母数字字符及`-.`),以及顶级域名(如`.com`)。这种表达式在验证用户输入时非常...

    常用正则表达式HTML,JAVA合集

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、数据提取等IT领域。在这个“常用正则表达式HTML,JAVA合集”中,我们主要关注的是HTML和Java环境下的正则...

    正则表达式大全邮箱和手机的验证

    下面的正则表达式用于匹配标准的电子邮件地址格式: ``` ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ ``` - `^` 和 `$`:分别表示字符串的开始和结束。 - `[\w-]`:匹配字母数字字符或下划线以及破折号。 - `(\.[\w-]+...

    正则表达式和表单验证

    在编写这些验证函数时,需要注意兼容性和性能,避免过于复杂的正则表达式导致解析效率下降。 总的来说,掌握正则表达式和表单验证技术对于前端开发者至关重要,它们可以帮助我们构建更健壮、用户体验更好的Web应用...

    正则表达式大全邮箱和手机的验证.txt

    本文将详细介绍几种常用的正则表达式,包括如何验证电子邮件地址、手机号码等格式的有效性。 #### 邮箱地址验证 邮箱地址验证是正则表达式应用中的一个常见场景。一个有效的电子邮箱地址通常由用户名部分(可能包含...

    正则表达式正则表达式正则表达式

    综上所述,正则表达式在IT领域内有着极其广泛的应用,无论是进行数据验证、文本解析还是特定格式的匹配,都能发挥其独特的作用。通过灵活运用上述列举的各种正则表达式,可以大大提高开发效率并提升软件质量。

    Java常用正则表达式.txt

    - **解析:** 这个表达式能够匹配常见的电子邮件地址格式。包括了邮箱名中可能包含的特殊字符如“-”、“+”和“.”,同时也考虑到了域名部分可能出现的子域名结构。 **4. 匹配URL地址** - **正则表达式:** [a-zA-z]...

    精通正则表达式(第三版)简体中文版

    利用正则表达式来进行邮件地址的有效性检查等。 #### 七、总结 《精通正则表达式(第三版)简体中文版》是一本全面介绍正则表达式技术的书籍,不仅覆盖了基本语法和高级特性,还详细讲解了在不同编程环境下的具体...

    邮箱验证正则表达式

    接下来,我们将详细解析并扩展这一主题,深入探讨正则表达式在邮箱验证中的具体应用,包括正则表达式的语法、设计原则以及实际代码实现等方面。 ### 正则表达式语法 正则表达式由一系列字符和特殊符号组成,用于...

    javascript正则表达式表单验证大全

    这个复杂的正则表达式用于验证电子邮件地址的有效性,确保其符合常见的电子邮件格式标准。它检查是否有一个或多个单词字符(字母、数字或下划线),后跟可选的连字符、加号或句点,然后是‘@’符号,后面跟着更多的...

    ASP 正则表达式ASP 正则表达式

    在ASP中,正则表达式主要用于处理文本数据,例如验证用户输入的数据是否符合预期的格式(如电子邮件地址或电话号码)。通过使用正则表达式,开发者可以更灵活地检查和操作文本数据,而无需编写复杂的条件语句。 ###...

Global site tag (gtag.js) - Google Analytics