JS中常用的字符串方法
//方法charAt()将一个整数作为参数,返回包含指定位置处的字符。
var str = 'smileGate';
var r = str.charAt(1);
console.log(r); //m
//方法substring()将两个索引作为参数,提取并返回这两个索引之间的子串.包含开始索引所在的字符,不包含结束索引所在的字符,省略第二个参数情况下,substring将提取从指定索引到字符串末尾的子串。
console.log(str.substring(2,5)); //ile
console.log(str.substring(2));//ileGate
//indexOf方法将一个字符串作为参数,并在字符串中该参数首次出现的位置返回该参数中第一个字符的索引。可指定第二个参数。它是一个索引,指定从什么位置开始查找。如果没有找到指定的字符串,将返回 -1。
var phone = "867-5309";
var index = phone.indexOf("-");
console.log(index); //3
var phrase = "the cat in the hat";
var index1 = phrase.indexOf("cat");
console.log(index1); //4
var index2 = phrase.indexOf("the", 5);
console.log(index2); //11
//split()将一个用作分隔符的字符作为参数,并根据这个分隔符将字符串分成多个部分组成数组
var data = "name|phone|address";
var vals = data.split("|");
console.log(vals); //["name", "phone", "address"]
//replace() 查找子串并将它们都替换为另一个字符串。
console.log(data.replace('phone','age')); //name|age|address
//slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分(与substring提取规则相同)。
console.log(data.slice(5,8)); //pho
console.log(data.slice(5)); //phone|address
console.log(data.substring(5,8));//pho
console.log(data.substring(5)); //phone|address
//lastIndexOf() 与indexOf类似,返回最后一个匹配的子串索引。
console.log(data.lastIndexOf('a')); //11
//concat() 将字符串拼接起来。
var str1 = 'abc';
var str2 = 'def';
console.log(str1.concat(str2)); //abcdef
//trim() 删除字符串开头和末尾的空白字符
//match() 在字符串中查找与正则表达式匹配的子串。
//toLowerCase() toUpperCase() 转换大小写
/*slice()和substring()方法的区别
str.slice(start, end)
如果 start或end为负,将它们作为 length + start/ length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 str 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。
str.substring(start, end)
如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
子字符串的长度等于 start 和 end 之差的绝对值。例如,在 str.substring(0, 3) 和 str.substring(3, 0) 返回的子字符串的的长度是 3。
*/
var str3 = 'helloworld';
console.log(str3.slice(-1,10)); //d
console.log(str3.slice(-1,2)); //空
console.log(str3.substring(0,3)); //hel
console.log(str3.substring(3,0)); //hel
console.log(str3.substring(-2,3)); //hel