用于模式匹配的String方法和RegExp方法

一、用于模式匹配的String方法

1、search

  search方法以正则表达式为参数,返回第一个与之匹配的子字符串的开始位置,如果没有任何子字符串与之匹配,则返回-1.使用实例:

var str = 'I love JavaScript and Ajax';
alert.(str.search(/l.*e/));//匹配‘love’,返回2
alert.(str.search(/\s/));//匹配‘I’和‘love’之间的空格,返回1

2、replace

方法replace执行替换操作,实例如下:

var a = 'I love ajax';
var b = a.replace('','_');//b='I_love_ajax'

3、match

  方法match是最常用的String方法,接受一个正则表达式作为参数(如果不是正则表达式,则会被转换成正则表达式),返回的是一个包含匹配结果的数组。实例如下:

var str = 'a=1&b=2&c=3&d=4&e=5';
var b = str.match(/[a-z]=[0-9]/g);//b = ['a=1','b=2','c=3','d=4','e=5']

4、split

  使用split方法可以将字符串根据指定的子字符串分割成若干元素,并将这些元素按照顺序在字符串中的先后排列返回一个包含这些元素的数组。split方法可以理解为Array对象的join方法的逆运算,使用实例如下:

var a = '00-12-13-DF-3A';
var b = a.split('-');//b=['00','12','13','DF','3A']
var str = 'a=1&b=2+c=3|d=4@e=5%f=6';
var str1 = str.split(/&|\+|\||@|%/);//a=['a=1','b=2','c=3','d=4','e=5','f=6']

二、用于模式匹配的RegExp方法

1、exec

  exec方法与String对象的match方法很相似,只是它接受的参数是一个字符串,它会在此字符串中进行匹配查找,并返回一个数组。与match方法不同的是,无论正则表达式是否开启了全局匹配模式,exec每次只匹配一个结果,返回的数组第一个元素是匹配的子字符串,从第二个元素开始是正则表达式中各个分组所匹配的内容。

var str = 'a=1&b=2+c=3|d=4@e=5';
var reg = /([a-z])=([0-9])/g;
var result;
while((result = reg.exec(str))!=null)
{
    document.write(result.join(',')+'
'); }

程序运行结果如下:

    用于模式匹配的String方法和RegExp方法_第1张图片

2、test

  test方法比较简单,接受一个字符串作为参数,然后进行匹配检测。如果字符串能够被匹配,则返回true,否则返回false。

var reg = /^(\+|\-)?(0\.|[0-9][0-9]*\.?)([0-9]*[0-9])$/;
reg.test('abc');//返回false
reg.test('+123');//返回true
reg.test('3.14');//返回true
reg.test('-0.23');//返回true


你可能感兴趣的:(AJAX)