字符串的方法
chatAt(index):
返回指定字符串中指定索引的字符;若index超出字符串长度,则返回空字符串var str = "abc"; console.log(str.charAt(2)); //c
字符串中索引为2的是字符c,所以返回c
var str = "abc"; console.log(str.charAt(3)); //""
字符串最大有效索引值为2,所以返回空字符串
indexOf(str[,stratIndex)):
返回指定字符或字符串的第一次出现的位置,若指定第二个参数,则会从指定开始索引值处开始匹配指定字符或字符串,若无匹配字符或字符串则返回-1var str = "abc"; console.log(str.indexOf("a")); //返回0 var str = "abc"; console.log(str.indexOf("a",1)); //返回-1 var str = "abc def "; console.log(str.indexOf("def",2)); //返回4
split(sign):
根据sign来分割字符串,并将这些分割的每一个子字符串放入一个数组,返回该数组;var str = "a+b+c+d+e"; console.log(str.split("+"));//返回["a", "b", "c", "d", "e"]
slice(startIndex,endIndex),substring(startIndex,endIndex),substr(startIndex,length);
这三个函数的共同点是都是截取字符串,并返回一个新的字符串;
当这三个函数传递一个参数时,他们的功能是一样的,都是截取字符串从指定的开始位置到字符串的最后一位var str = "javascript is fun"; console.log(str.slice(2)); //"vascript is fun"; console.log(str.substring(2)); //"vascript is fun"; console.log(str.substr(2)); //"vascript is fun"
当传入两个参数时,slice()和substring()的返回值相同,substr()不同,因为substr()第二个参数时截取字符串的长度,而不是字符串的索引位置;
var str = "javascript is fun"; console.log(str.slice(2,5)); //"vas"; console.log(str.substring(2,5)); //"vas"; console.log(str.substr(2,5)); //"vascr"
toUpperCase(),toLowerCase()
将字符串转换成大写、小写var str = "abcde"; var str1 = "ABCDE"; console.log(str.toUpperCase()); //"ABCDE" console.log(str1.toLowerCase()); //"abede"
search(),replace(),match()
这三个方法通常要配合正则表达式使用search(reg)
根据正则表达式找到第一个出现的匹配项,并返回该匹配的项的索引值;
若没有匹配项,则返回-1
注:无论正则表达式是否设置了全局搜索,该方法也只会返回第一个出现匹配项的索引值var reg = /javascript/g; var str = "Hello World! I love javascript!javascript is fun"; console.log(str.search(reg)); //20
replace(reg,替换匹配项的字符串)
根据正式表达式找到字符串中的匹配项,然后用指定的字符串替换这些匹配项,返回新的字符串;若没有匹配项,则返回原字符串
注:若正则表达式没有设置全局匹配,则只会替换第一个出现的匹配项var reg = /javascript/g; var str = "Hello World! I love javascript!javascript is fun"; console.log(str.replace(reg,"java")); //"Hello World! I love java!java is fun"
match(reg):
该方法根据正则表达式在字符串中搜索匹配项,将符合的匹配项存入一个新数组,返回该数组;若没有匹配项,则返回一个空数组
注:若正则表达式没有设置全局匹配,则只会返回含第一个匹配项的数组,或空数组;var reg = /javascript/g; var str = "Hello World! I love javascript!javascript is fun"; console.log(str.match(reg,"java")); //["javascript", "javascript"]