日期:2014-05-16  浏览次数:20303 次

javascript中的String类的几个常用方法备忘

String类有大量的方法。以下列举几个常用的

1.CharAt()

?

var oString = new String("lenovo");
alert(oString.charAt(1));    //output "e"
?

?

2.CharCodeAt()

?

?? var oString = new String("lenovo");
?? alert(oString.charCodeAt(1)); ?//output "101"

?

?? ?这里得到的是字符代码,e对应的是101。

?

3.concat()

?

?? 用于把一个或者多个字符串连接到String对象的原始值上,返回的是连接后的字符串,但是原始的字符串对象将不发生改变

?

?

var oString = new String("hello");
var oConcatString = oString.concat(" lenovo");
alert(oString);  //output "hello";
alert(oConcatString);   //output "hello lenovo";

?

?

3.indexOf() ?和 lastIndexOf()

?

?? 如果要找某个字符串中是否存在某个字符,就要使用indexOf()方法

?

?? 这两个方法的不同是indexOf()方法是从字符串的开头开始寻找,而lastIndexOf()方法是从字符串的结尾开始寻找。

?

?

var serchString = new String("hello lenovo");
alert(serchString.indexOf("o");  //output 4;
alert(serchString.lastIndexOf("o");   //output 10;

?

?

4.localeCompare()

?

?? 这个方法对字符串值进行排序,该方法的参数是一个要进行比较的字符串。代码说明:var oString = new String("ygz");

?

alert(ostring.localeCompare("block");   //output 1,以为z在b的后面

alert(oString.localeCompare("yero");    //output 0,因为同是z

alert(oString.localeCompare("zgz");      //output -1,因为y在z的前面
?

?需要说明的是:localeCompare()方法是区分字母大小写的,大写字母在顺序上要排在小写字母之后。

?

5.slice()和substring()

?

?? 方法命名如果是简写了,就全部是小写,如果是完整的,就会是第二个单词大写。(题外话)

?

?? 这两个方法都是截取字符串的,但是和concat()方法一样,只返回操作后的字符串,而不影响原来的字符串

?

?? 如果参数都是正数,那么这两个方法的表现一样

?

?

var oString = new String("hello lenovo");
alert(oString.slice(3));   //output "lo lenovo"  从第三个位置截取到最后
alert(oString.slice(3,7));   //output "lo l" 从第三个位置截取到第七个位置
alert(oString.substring(3));  // output  same as top;
alert(oString.substring(3,7));   // output  same as top

?

?

?? 如果是负数,则substring()方法将把负数看作0来处理。代码如下:

?

?

var oString = new String("hello lenovo");
alert(oString.slice(-3));  //output "ovo"
alert(oString.substring(-3)); //output "hello lenovo"
alert(oString.slice(3,-4));  //output "lo le"
alert(oSTring.substring(3,-4)); //output "hel"

?

6.toLowerCase(),toLocaleLowerCase() 和 toUpperCase(),toLocaleUpperCase()

?

?? 前两者是把字符串转换为小写字母,后两者是把字符串转换为大写字母。

?

?? locale是区域字样的意思,一般情况下不必区分。

?

?