`
leo2410
  • 浏览: 19104 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

js正则表达式入门教程

阅读更多
js正则表达式入门教程
正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。 要为一个单独的正则表达式添加属性,可以使用正则表达式构造函数(constructor function),无论何时被调用的预设置的正则表达式拥有静态的属性(the predefined RegExp object has static properties that are set whenever any regular expression is used, 我不知道我翻得对不对,将原文列出,请自行翻译)。

创建:

一个文本格式或正则表达式构造函数

文本格式: /pattern/flags

正则表达式构造函数: new RegExp("pattern"[,"flags"]);

参数说明:

pattern -- 一个正则表达式文本

flags -- 如果存在,将是以下值:

g: 全局匹配

i: 忽略大小写

gi: 以上组合

[注意] 文本格式的参数不用引号,而在用构造函数时的参数需要引号。如:/ab+c/i new RegExp("ab+c","i")是实现一样的功能。在构造函数中,一些特殊字符需要进行转意(在特殊字符前加"\")。如:re = new RegExp("\\w+")

正则表达式中的特殊字符

字符 含意

\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。

-或-

对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。

^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"

$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"

* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa

+ 匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa

? 匹配前面元字符0次或1次,/ba?/将匹配b,ba

(x) 匹配x保存x在名为$1...$9的变量中

x|y 匹配x或y

{n} 精确匹配n次

{n,} 匹配n次以上

{n,m} 匹配n-m次

[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)

[^xyz] 不匹配这个集合中的任何一个字符

[\b] 匹配一个退格符

\b 匹配一个单词的边界

\B 匹配一个单词的非边界

\cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M

\d 匹配一个字数字符,/\d/ = /[0-9]/

\D 匹配一个非字数字符,/\D/ = /[^0-9]/

\n 匹配一个换行符

\r 匹配一个回车符

\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等

\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/

\t 匹配一个制表符

\v 匹配一个重直制表符

\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]

\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

说了这么多了,我们来看一些正则表达式的实际应用的例子:

E-mail地址验证:

function test_email(strEmail) {

var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;

if(myReg.test(strEmail)) return true;

return false;

}

HTML代码的屏蔽

function mask_HTMLCode(strInput) {

var myReg = /<(\w+)>/;

return strInput.replace(myReg, "&lt;$1&gt;");

}

分享到:
评论

相关推荐

    javascript正则表达式迷你书 (1).pdf

    本书是 JavaScript 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念和应用。下面是本书的知识点摘要: 第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向模糊匹配和纵向模糊匹配 * 字符组...

    JS正则表达式入门笔记实例

    这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和普通字符组成,用于描述文本模式。 - **创建方式**:可以使用`/pattern/flags`或`...

    两本正则表达式入门教程

    这两本入门教程,"正则表达式教程.chm" 和 "正则表达式入门教程.doc",将帮助初学者快速掌握这一技术。 首先,我们来看"正则表达式教程.chm"可能涵盖的内容。CHM是Microsoft的 Compiled HTML Help 文件,通常包含一...

    正则表达式入门经典

    本资源"正则表达式入门经典"是由(美)瓦特编著的扫描版,旨在帮助初学者快速掌握这一技术。 正则表达式的基本概念: 1. **元字符**:如`.`, `*`, `+`, `?`, `{}`, `[]`, `\`, `^`, `$`等,它们具有特殊含义,用来...

    Java正则表达式入门介绍.ppt

    在Java中,正则表达式并不等同于JavaScript中的正则表达式,尽管它们在很多语言中都有类似的功能。Java正则表达式的优点在于能够用较少的代码完成复杂的文本匹配任务,但这也需要开发者熟悉其语法。 正则表达式的...

    正则表达式入门教程

    在这篇“正则表达式入门教程”中,我们将探讨正则表达式的基础知识,帮助你快速掌握这一强大的技术。 首先,我们要理解正则表达式的语法元素。最基本的包括字符匹配,如字母、数字、特殊字符等。例如,`.`代表任意...

    正则表达式入门

    - **JavaScript正则表达式在线测试工具**: 提供在线环境,可以直接输入正则表达式和待匹配的文本进行测试。 #### 六、元字符 元字符是正则表达式中最基础也是最重要的组成部分之一。常见的元字符包括: - `.`: 匹配...

    正则表达式入门 正则表达式详解

    正则表达式不仅适用于JAVA,还广泛应用于Python、JavaScript、C#等语言。 在JAVA中,正则表达式的使用基于`java.util.regex`包,提供了`Pattern`和`Matcher`两个主要类。`Pattern`类用于编译正则表达式,而`Matcher...

    正则表达式30 分钟入门教程

    尽管入门教程能够在较短时间内提供基础知识,但正则表达式的高级用法往往需要更深入的学习和实践。对于一些复杂的正则表达式编写,例如在文本处理中提取特定数据,可能需要编写者具备较强的逻辑分析能力和经验积累。...

    正则表达式入门指导.ppt

    在多种编程语言中,如Perl、Java、JavaScript、C#、PHP、Python、Ruby、Tcl、MySQL、Oracle等,正则表达式都扮演着重要的角色。 学习正则表达式可以做以下事情: 1. **查找字符串**:你可以使用正则表达式来检查一...

    简单易学的正则表达式入门教程

    - **JavaScript正则表达式在线测试工具**:方便在线验证和学习JavaScript环境下的正则表达式。 - **Regex Tester**:针对.NET Framework 2.0的正则表达式测试工具。 6. **正则表达式的学习方法**: - **从实例...

    正则表达式入门30分钟

    "正则表达式入门30分钟"这个教程可能是为了快速介绍正则表达式的基本概念和常用语法,帮助初学者快速掌握这一强大的工具。下面是一些正则表达式的核心概念和常见用法: 1. **基础元素**: - **字符匹配**:例如,`...

    【很好的】正则表达式入门教程

    ### 正则表达式入门教程知识点总结 #### 一、正则表达式的基本概念 **正则表达式**是一种强大的文本处理工具,主要用于定义文本模式并进行文本匹配、替换等操作。通过正则表达式,我们可以高效地进行数据验证、...

    正则表达式 入门教程

    在这个30分钟入门教程中,我们将深入了解正则表达式的基本概念、语法以及常见应用。 一、基本概念 1. 字符集:正则表达式由各种字符和特殊符号组成,用来描述一个字符串的模式。例如,"."代表任意单个字符,"\d...

    正则表达式入门.doc

    在"正则表达式入门.doc"文档中,你将学习到正则表达式的基础知识,包括基本元字符、修饰符、预定义字符类以及更高级的构造。 1. **基本元字符**:正则表达式中最基础的是元字符,它们具有特殊含义,如`.`代表任意...

    正则表达式快速掌握教程.chm

    通过《正则表达式30分钟入门教程》的学习,你将能够熟练运用正则表达式进行数据验证、文本提取、字符串替换等多种任务,提高你的编程效率。无论你是初学者还是有一定经验的开发者,此教程都将帮助你更好地理解和应用...

    正则表达式30分钟入门教程

    ### 正则表达式30分钟入门教程 #### 快速入门正则表达式的教程 本文档旨在提供一份关于正则表达式的快速入门教程。正则表达式是一种强大的文本处理工具,广泛应用于搜索、替换以及提取特定格式或模式的数据。通过...

    正则表达式详细入门教程语法详解匹配原理

    3.正则表达式的历史与发展:从最初的Unix工具(如grep、sed)到现代编程语言(如Python、Java、JavaScript)中的广泛应用。 4.正则表达式的基本组成:普通字符(如字母、数字、标点符号)、特殊字符(如.、*、+、?、...

Global site tag (gtag.js) - Google Analytics