一、string中提供的


charAt()    返回在指定位置的字符。
示例:'abc'.charAt(1); //"b"
charCodeAt() 返回在指定的位置的字符的 Unicode 编码。
示例:'abc'.charCodeAt(1); //98

indexOf(searchvalue,fromindex) 检索字符串,返回对应下标。
示例:'abcabc'.indexOf('b',0); //1
'abcabc'.indexOf('b',2); //4
search(regexp) 检索与正则表达式相匹配的值,返回对应下标。
示例:'abcabc'.search('b'); //1
'abcabc'.search(/b/img); //1
match(regexp) 找到一个或多个正则表达式的匹配,没有返回null,否则返回数组
示例:'abcabc'.match('b'); //["b"]
'abcabc'.match(/b/img); //["b", "b"]
PS:上述regexp,可以是子串、也可以是正则。


二、RegExp


直接量语法:/pattern/attributes

创建RegExp对象的语法:new RegExp(pattern, attributes);

RegExpObject.lastIndex  用于规定下次匹配的起始位置。

attributes:

i    执行对大小写不敏感的匹配。

g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m    执行多行匹配。


(1)RegExpObject.exec(string) 返回一个数组,其中存放匹配的结果;检索不到返回null。

示例1:

/c/img.exec('abcdefgc');  //['c']
new RegExp("c","img").exec('abcdedgc'); //['c']
/c/img.exec('a'); //null

示例2:


var reg = new RegExp("c","im");
reg.exec("abcabc"); //["c"]
reg.lastIndex; //0

var reg = new RegExp("c","img");
reg.exec("abcabc"); //["c"]
reg.lastIndex; //0

typeof reg; //"object"
Object.prototype.toString.call(reg); //"[object RegExp]"

(2)test 检索字符串中指定的值。返回 true 或 false。


示例:


/c/img.test('abcdefgc');  //true

new RegExp("c","img").test('abcdedgc'); //true