`
yiheng
  • 浏览: 156776 次
社区版块
存档分类

JavaScript正则表达式 exec,test,match,replace,split

 
阅读更多
exec:对string进行正则处理,并返回匹配结果.array[0]为原字符串,array[i]为匹配在整个被搜索字符串中的位置。
test:测试string是否包含有匹配结果,包含返回true,不包含返回null。
match(pattern):根据pattern进行正则匹配,如果匹配到,返回匹配结果,如匹配不到返回null
search(pattern):根据pattern进行正则匹配,如果匹配到一个结果,则返回它的索引数;否则返回-1
replace(pattern,replacement):根据pattern进行正则匹配,把匹配结果替换为replacement

split(pattern):根据pattern进行正则分割,返回一个分割的数组

<script LANGUAGE="javascript">
var u="http://msdn.microsoft.com:80/scripting/default.htm";
var s=/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
var a=s.exec(u);
for(i=1;i<a.length;i++){
alert(a[i]);
}
</script>

将该正则表达式应用于上面所示的URL后,子匹配包含下述内容:
a[1] 包含 "http"
a[2] 包含 "msdn.microsoft.com"
a[3] 包含 ":80"
a[4] 包含 "/scripting/default.htm"
(也可以用RegExp.$1、RegExp.$2、RegExp.$3、RegExp.$4取值)

<script LANGUAGE="javascript">
function checkMobile( s )...{
var regu =/^[1][3][0-9]...{9}$/;
var re = new RegExp(regu);
return re.test(s);
}
checkMobile('13909910000');
</script>

用途:检查输入手机号码是否正确,如果通过验证返回true,否则返回false

正则表达式的创建,有2种办法:
var my_regex=/[a-z]+/g;
var my_regex=new (”[a-z]+”,"g”);

方法
exec(string): 对string进行正则处理,并返回匹配结果.
exec方法返回的数组有3个属性,分别是input、index和lastIndex 。
1 input 属性是整个被搜索的字符串。
2 index属性是指匹配在整个被搜索字符串中的位置。
3 lastIndex 属性是指匹配的子字符串的最后一个字符的下一个字符位置。

test(string): 测试string是否含有匹配结果

字符串对象中的正则
方法
match(pattern) :根据pattern进行正则匹配,如果匹配到,返回匹配结果,如匹配不到返回null
search(pattern) :根据pattern进行正则匹配,如果匹配到一个结果,则返回它的索引数;否则返回-1
replace(pattern,replacement) :根据pattern进行正则匹配,把匹配结果替换为replacement
split(pattern) :根据pattern进行正则分割,返回一个分割的数组

test


test 返回 Boolean,查找对应的字符串中是否存在模式。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true


exec


exec 查找并返回当前的匹配结果,并以数组的形式返回。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);
如果不存在模式,则 arr 为 null,否则 arr 总是一个长度为 1 的数组,其值就是当前匹配项。arr 还有三个属性:index 当前匹配项的位置;lastIndex 当前匹配项结束的位置(index + 当前匹配项的长度);input 如上示例中 input 就是 str。


exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述两个输出都是 1a。现在再看看指定参数 g:
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述第一个输出 1a,第二个输出 1b。


match


match 是 String 对象的一个方法。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));
match 这个方法有点像 exec,但:exec 是 RegExp 对象的方法;math 是 String 对象的方法。二者还有一个不同点,就是对参数 g 的解释。
如果指定了参数 g,那么 match 一次返回所有的结果。
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的结果是一样的
此结果为一个数组,有三个元素,分别是:1a、1b、1c。




分享到:
评论

相关推荐

    精通 JavaScript正则表达式

    与正则表达式相关的字符串方法有 `match()`(找到匹配项)、`replace()`(替换匹配项)、`search()`(查找匹配项)和 `split()`(根据正则表达式分割字符串)。 例如,下面的代码展示了`test()`方法的工作原理: `...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    javascript正则表达式详解

    JavaScript正则表达式是JavaScript语言中一种极为重要的文本处理工具,它允许通过简洁的语法定义文本的匹配模式。这些模式可用来对字符串进行检索、替换、提取等操作。了解和掌握JavaScript正则表达式,对于提高...

    JavaScript正则表达式详解及使用方法

    同时,文章还通过具体示例展示了如何在JavaScript中使用正则表达式的exec、test、match、replace、search和split方法。 适合人群:具备基本JavaScript编程基础,对正则表达式有一定了解的开发人员。 使用场景及目标...

    JavaScript正则表达式迷你书(1.1版)

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理字符串模式匹配和搜索替换,是数据验证、文本处理和信息提取的关键工具。在1.1版的《JavaScript正则表达式迷你书》中,作者深入浅出地...

    javascript正则表达式全解析文档

    ### JavaScript正则表达式全解析 #### 正则表达式的定义与使用 在JavaScript中,正则表达式是一种用于处理字符串的强大工具。它允许我们执行复杂的字符串搜索和替换操作。正则表达式对象可以通过两种方式创建:一...

    JavaScript经典正则表达式实战

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,进行模式匹配、查找、替换等操作。在JavaScript中,正则表达式是一种强大的工具,可以帮助开发者实现复杂的数据验证、文本...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十:正则表达式

    3. `match()`:返回字符串中所有匹配正则表达式的子串组成的数组。 4. `search()`:返回匹配项的索引,找不到则返回-1。 5. `replace()`:用新字符串替换匹配项。 6. `split()`:根据正则表达式分割字符串。 ...

    JavaScript正则表达式.rar

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,执行模式匹配和字符串操作。在JavaScript中,正则表达式是一种强大的工具,能够帮助开发者进行复杂的文本搜索、替换和分割...

    最新的javascript正则表达式详解

    本文将深入探讨JavaScript正则表达式的最新特性、语法以及常见用法。 一、正则表达式基础 1.1 创建正则对象 在JavaScript中,有两种创建正则表达式的方法:字面量表示法(`/pattern/flags`)和构造函数(`new ...

    各类正则表达式详细手册

    JavaScript还提供了test()、exec()、match()、replace()和split()等方法来操作正则表达式。 3. C#字符串和正则表达式: C#的System.Text.RegularExpressions命名空间提供了Regex类,用于处理正则表达式。创建正则...

    javascript正则表达式全攻略

    本攻略将深入探讨JavaScript正则表达式的各种特性和用法,帮助你掌握这一核心技能。 一、基础概念 1. 正则表达式(Regular Expression)是一种模式,用于匹配字符串中的特定字符序列。 2. JavaScript中的正则表达式...

    JavaScript正则表达式经典程

    JavaScript中的正则表达式是一种强大的...在JavaScript中,正则表达式结合字符串方法如`match`、`replace`、`split`等,能够实现强大的文本处理功能。因此,深入理解正则表达式对于提升JavaScript编程能力至关重要。

    【第十二章】JavaScript【正则表达式(1)】

    通过学习这些基本概念和技巧,开发者可以有效地使用JavaScript正则表达式来处理各种字符串操作,提高代码的效率和灵活性。同时,熟练掌握正则表达式也是成为高级JavaScript开发者的必备技能之一。

    传智播客_张孝祥_JavaScript7_正则表达式

    - test():测试字符串是否符合正则表达式模式,返回布尔值。 - exec():查找匹配的子串,返回一个数组,包含匹配项及捕获组。 4. 匹配与查找: - match():在字符串中查找匹配正则表达式的子串,返回数组或null...

    JavaScript 正则表达式高级应用

    JavaScript正则表达式是编程语言JavaScript中的一个强大工具,用于处理文本字符串,进行模式匹配、查找、替换等操作。在JavaScript中,正则表达式是一种特殊的对象,它们遵循一套特定的语法,允许开发者进行复杂的...

    JavaScript正则表达式小结(test|match|search|replace|split|exec)|angluo-javascript-172930.pdf

    JavaScript提供了六种与正则表达式相关的方法,分别对应于不同的应用场景:test、match、search、replace、split、exec。 1. test 方法:用于检测一个字符串是否匹配某个模式,如果字符串中有符合模式的子串返回 ...

    07JavaScript正则表达式总结.docx

    以下是对JavaScript正则表达式及其相关知识点的详细说明: 1. **正则表达式创建方式**: - **构造函数创建**:`new RegExp("正则表达式","匹配模式")`。例如,`var reg = new RegExp("a", "i");` 创建了一个不区分...

Global site tag (gtag.js) - Google Analytics