var
来源:景安IDC资讯作者:server发布时间:2015-07-15点击:2262
前文已经介绍了如何构成正则表达式,接下来看看如何使用它们。
正则表达式时JavaScript提供的,是用来对字符串数据进行匹配和操作的工具。正则表达式可以使用字面值语法或者RegExp()构造器来生成,它可以使用在诸如match()、replace()、search()以及split()之类的String方法当中。
1.RegExp对象
RegExp对象可以用来测试和分析应用在数据上的正则表达式的结果;下面的代码构造了一个正则表达式,接着用它来测试两个字符串:
var pattern = new RegExp("a*bbbc","i");
alert(pattern.test("1a12c")) //displays false
alert(pattern.test("aaabBbcded")); //displays true
2.exec()方法
RegExp对象还提供了一种叫做exec()的方法。该方法接受进行匹配的字符串,它可以简单地通过regexp对象把它作为函数直接调用。例如,下面例子中的两种调用方法是等效的:
var pattern = /http:.*/;
pattern.exec("http://www.zzidc.com");
pattern("http://www.zzidc.com")
Exxec()方法返回带有很多属性的数组。包括该数组的长度length;显示输入的原始字符串的input;保存第一次匹配的索引的index;以及lastindex,保存了在第一次匹配之后,接下来的搜素开始处字符所对应的索引。
3.String方法
String对象提供了四种使用正则表达式的方法。最简单的一种是search()
"JavaScript regular espressions are powerful!".search(/pow.*/i);
"JavaScript regular espressions are powerful!".search(/\d);
第二种Split(),它在字面上将字符串分成子字符串,并且将它们以数组的形式返回,它接受字符串或者包含有打破字符串的分隔符的正则表达式。例如:
var stringwithelimits = "10/3//4/7/9";
var splitexp = /[\/]+/;
myArray = stringwithdelimits.split(splitExp)
第三种replace(),使用此功能可以定位字符串中的特定部分。
var pattern = /(\d{3}) (\d{2}) {\d{4}}/;
var ssn ="123456789";
ssn = ssn.replace(pattern,"$1-$2-$3");
最后一种是match(),这种方法使用1个正则表达式作为参数,返回包含了匹配结果的数组。如果给定的regexp有全局("g")标记,则返回的数组包含匹配的每个子字符串。
版权声明:本文系技术人员研究整理的智慧结晶,转载勿用于商业用途,并保留本文链接,侵权必究!