1.concat()
两个字符串的拼接(原字符串的值不变)//多数情况下用+号拼接更简单
var x="zw";
var y=x.concat("666");
console.log(y);//zw666
console.log(x);//zw
2.slice()
基于子字符串创建新字符串
第一个正数参数:指定子字符串的开始位置
var x="zw666";
var y=x.slice(2);
console.log(y);//666
console.log(x);//zw666
两个正数参数:第一个参数指定子字符串的开始位置,第二个参数指定字符串最后一个字符后面的位置。
var x="zw666999";
var y=x.slice(2,6);
console.log(y);//6669
console.log(x);//zw666999
第一个负数参数:将传入的负值与字符串的长度相加
var x="zw666";
var y=x.slice(-2);
console.log(y);//666
console.log(x);//zw666
-2+字符串长度5=3,所以从下标3开始创建新的字符串,得到666
第一个参数正数,第二个参数负数: slice() 方法会把第二个参数加上字符串的长度
var x="zw666999";
var y=x.slice(2,-2);
console.log(y);//6669
console.log(x);//zw666999
两个参数均为负数:两个参数都与字符串长度相加(如果第一个参数大于等于第二个参数则返回空)
var x="zw666999";
var y=x.slice(-7,-3);
console.log(y);//w666
console.log(x);//zw666999
第一个参数负数,第二个参数正数:把第一个参数加上字符串的长度
var x="zw666999";
var y=x.slice(-4,6);
console.log(y);//69
console.log(x);//zw666999
3.substring()
第一个正数参数:指定子字符串的开始位置,到字符串末尾结束
var x="zw666999";
var y=x.substring(3);
console.log(y);//66999
console.log(x);//zw666999
第一个负数参数:substring会把所有的负值参数变为0
var x="zw666999";
var y=x.substring(-3);
console.log(y);//zw666999
console.log(x);//zw666999
两个正数参数:第一个参数指定子字符串的开始位置,第二个参数指定字符串最后一个字符后面的位置。
var x="zw666999";
var y=x.substring(2,6);
console.log(y);//6999
console.log(x);//zw666999
第一个参数正数,第二个参数负数:substring会把第二个参数变为0,而由于这个方法会将较小的数作为开始位置,将较大的数作为结束位置,所以相当于调用substring(0,2).
var x="zw666999";
var y=x.substring(2,-6);
console.log(y);//zw
console.log(x);//zw666999
两个负数参数:substring会把所有的负值参数变为0,所以会返回空字符串
var x="zw666999";
var y=x.substring(-5,-1);
console.log(y);//""
console.log(x);//zw666999
第一个参数负数,第二个参数正数
var x="zw666999";
var y=x.substring(-4,5);
console.log(y);//zw666
console.log(x);//zw666999
4.substr()
一个正数参数:标记开始位置
var x="zw666999";
var y=x.substr(2);
console.log(y);//666999
console.log(x);//zw666999
一个负数参数:字符串长度加上该参数为新字符串的开始位置
var x="zw666999";
var y=x.substr(-2);
console.log(y);//99
console.log(x);//zw666999
两个正数参数:第一个参数表明开始位置,第二个参数表示新字符串的长度
var x="zw666999";
var y=x.substr(2,4);
console.log(y);//6669
console.log(x);//zw666999
第一个参数正数,第二个参数负数:将第二个参数转换为 0,返回包含零个字符的字符串,也就是一个空字符串。
var x="zw666999";
var y=x.substr(2,-4);
console.log(y);//""
console.log(x);//zw666999
两个参数负数:将负的第一个参数加上字符串的长度,而将负的第二个参数转换为 0。
var x="zw666999";
var y=x.substr(-2,-4);
console.log(y);//""
console.log(x);//zw666999
第一个参数负数,第二个参数正数:第一个参数加上字符串长度
var x="zw666999";
var y=x.substr(-4,2);
console.log(y);//69
console.log(x);//zw666999
5.indexOf() 和 lastIndexOf()
这两个方法都是从一个字符串中搜索给定的子字符串,然后返子字符串的位置(如果没有找到该子字符串,则返回 -1 )。
区别是IndexOf是向前向后搜索,而lastIndexOf是从后向前搜索的。
var x="zw666999";
var y1=x.indexOf("6");
var y2=x.lastIndexOf("6");
console.log(y1);//2
console.log(y2);//4
两个参数:第一个参数指明要搜索的子字符串,第二个参数指明从哪里开始搜索
var x="zw666999";
var y1=x.indexOf("6",4);
var y2=x.lastIndexOf("6",3);
console.log(y1);//4
console.log(y2);//3
在使用第二个参数的情况下,可以通过循环调用 indexOf() 或 lastIndexOf() 来找到所有匹配的子字符串
var x="zw666999hahaha1234";
var my=new Array();
var i=x.indexOf("h");
while(i>-1){
my.push(i);
i=x.indexOf("h",i+1);
}
console.log(my);//8,10,12
6.trim()
这个方法会创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果。
var x=" zw666999hahaha1234 ";
var my=x.trim();
console.log(my);//zw666999hahaha1234
7. toLowerCase() 、 toLocaleLowerCase() 、 toUpperCase() 和 toLocaleUpperCase()
toLocaleLowerCase() 和 toLocaleUpperCase() 方法是针对特定地区的实现。对有些地区来说,针对地区的方法与其通用方法得到的结果相同,但少数语言(如土耳其语)会为 Unicode 大小写转换应用特殊的规则,这时候就必须使用针对地区的方法来保证实现正确的转换。
var stringValue = "hello world";
console.log(stringValue.toLocaleUpperCase()); //"HELLO WORLD"
console.log(stringValue.toUpperCase()); //"HELLO WORLD"
console.log(stringValue.toLocaleLowerCase()); //"hello world"
console.log(stringValue.toLowerCase()); //"hello world"
console.log(stringValue);//"hello world"
上面这些方法调用后原字符串的值仍不变。