一、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