字符串的方法们

如果你刚接触js,你会觉得字符串是一个非常不起眼的小家伙,但是随着越来越深入,我们会发现更多。那么我们就用一个例子来展开今天的故事。

今天主要讲解:

charAt  找字符  ,chatCodeAt() 找到字符专Unicode , indexOf 通过字符找下标(左到右),lastIndexOf通过字符找下标(右到左),slice截取字符串,split 截取字符串,分割为数组 ,Substring截取字符串(同silce有区别),substr 截取一段指定的字符串, toLowerCase, toUpperCase转大写,转小写。 trim去掉字符串首尾空格。

var str = 'song';
console.log(str.length);  //4

纳尼~?字符串也有length属性,bingo! 字符串的length只能读,不能更改。

接下来就引入我们今天的主角,字符串的方法们。 不错 字符串也有许多方法,什么是方法?

打个比方: 字符串好比一辆轿车。 而方法就好比 刹车,启动等。

charAt

先介绍charAt(),它的作用:是通过索引找字符。     语法:字符串.charAt(index)       参数:  index  取值范围 0  -  ( length -1 ) ;

var str='song';
            
var s1=str.charAt(1);
console.log(s1); //o
// s 0 o 1 n 2 g 3
            
var s2=str.charAt();
console.log(s2);// s
            
var s3=str.charAt(10);
console.log(s3);      //空

 

chatCodeAt() 

作用:通过索引找字符,找到后转为Unicode编码 , 语法: 字符串.charCodeAt(index)

参数:index 索引值(取值范围 0 - length-1);

1) 如果没有参数默认从第0个开始。

2)如果参数超过length-1的值,返回NaN;

返回值:返回字符对应的Unicode值

var str = 'song';
var s1 = str.charCodeAt(1);
console.log(s1);     //97
            
var  s2=str.charCodeAt();
cosnole.log(s2);     //107
            
var s3 = str.charCodeAt(10);
console.log(s3);         //NaN

 

indexOf

能通过字符找到对应的下标值(从左往右找这个字符首次出现的位置), 语法:  字符串.indexOf(searchValue,fromIndex)

参数:searchValue 要查找的字符,  fromIndex 从哪个位置开始查找,这个参数如果没有默认为0.(默认从第0个的位置开始找)

返回值: 返回一个数字,这个数字代表字符在整个字符串里的真实下标值。如果没找到的话就返回 -1.

var str = "song";
var s1 = str.indexOf('o');
console.log(s1);  //1
            
var s2 = str.indexOf('g',2);
console.log(s2); //3
            
var s3 = str.indexOf('c');
console.log(s3)  // -1

 

lastIndexOf

作用: 通过字符找下标(从右往昨找字符最后出现的位置)  , 语法:字符串.lastIndexOf(searchValue,formIndex)

参数:searchValue 要查找的字符, fromIndex  从哪开始查找,默认从第一个字符开始查找。

返回值:返回一个数字,如果找到就返回这个字符对应的下标值,如果没找到就返回 -1;

var str = "songsong";
//[s o n g s o n g]
//[0 1 2 3 4 5 6 7]
            
var s1 = str.lastIndexOf('o');
console.log(s1); //5
//从右(g)往左(s)数, 首次出现的是下标为5的o,然后停止结束。

var s2 = str.lastIndexOf('n',5); //2
//[s o n g s o]
//[0 1 2 3 4 5] 这么找,然后从5开始往0找,找到首次出现的是第2个
console.log(s2);

 

slice

作用:截取字符串。    语法: 字符串.slice(beginSlice,endSlice)

参数:  beginSlice 开始的位置(下标值);    endSlice 结束的位置(下标值)

1)如果一个参数都没有的话,直接返回整个字符串。如果只有一个参数,代表开始的位置,结束的位置默认为最后一位字符。

2)参数可以是负数,但是开始位置不能大于结束位置。

3)开始到位置是最后一位,代表-1,如果开始位置到值小于结束位置,则返回一个空。

返回值:   返回截取到的那个字符串,原字符串没有变化。

var s1 = "superman";
console.log(s1.slice(1,5)); //uper

// [s u p e r m a n]
// [0 1 2 3 4 5 6 7]
// beginSlice 代表从对应的下标开始 
// endSlice 代表 对应的下标-1;
// 我们这么举例,beginSlice  = 开始的 target.length , endSlice = 结束的 target.length -1

                        
var s2 = s1.slice(3);
console.log(s2);   //erman
            
var s3 = s1.slice(); //superman
console.log(s3);
            
var s4 = s1.slice(-3,-1);
console.log(s4); // ma
// [ s  u  p  e  r  m  a  n]
// [-8 -7 -6 -5 -4 -3 -2 -1]
// -3 m , -1(因为结束位置是不包含的,既-1-1 =-2 )a 

 

 Split

作用:用指定的分隔符,把字符串分割成数组。     语法:字符串.split(separator, limit)

参数:

separator 分割符,limit   分割成数组数据的个数

1)一个参数都没有以及参数是一个空格字符都话,会把整个字符串作为数组中的一个数据

2)如果参数为一个空字符,它会把字符串里的每个字符作为数组中的数据,进行拆分。

3)如果参数为2个,分割后的数组的个数就是第二个参数的值,而第一个参数的值则是以它为分割点,且该值会在新生成的数组中消失。

返回值:返回一个数组,原字符串不变。

var str = "spiderman";
var s1 = str.split();
console.log(s1);   //["sipderman"]
            
var s2 = str.split('');
console.log(s2); //["s","i","p","d","e","r","m","a","n"];
            
var s3 = str.split(" ");
console.log(s3); //["sipderman"]
            
var s4 = str.split('a');
console.log(s4); //["spiderm", "n"]
            
var s5 = str.split("i",1);
console.log(s5); //["sp"]

 

Substring

作用:截取一段字符串   语法: 字符串.substring(indexStart, indexEnd)

参数:indexStart 开始的下标位置  indexEnd结束的下标位置

1)如果一个参数都没有,会返回整个字符串

2)如果只有一个参数,就从这个参数都位置一直截到最后一个字符

3)如果有两个参数,那最后一个参数代表结束到位置,但是不包含它

4)如果第一个参数的值大于第二个参,则该功能会自动重新排序调增位置。

返回值:返回截取后的字符串,原字符串没有变化。

 

与slice的区别:

1)slice的起始位置不能大于结束位置,而substring起始位置可以大于结束位置

2)slice可以放负数,而substring是不能放负数

var str = "superman";
var s1 = str.substring();
console.log(s1) ; //superman
            
var s2 = str.substring(2);
console.log(s2);   //perman
            
var s3 = str.substring(3,5);
console.log(s3)  //er
            
var s4 = str.substring(5,3);
console.log(s4); //er
            
var s5 = str.substring(-3,-2);
console.log(s5); //空

 

Substr

作用:截取一段指定开始位置与个数的字符串 。     语法:字符串.substr(start,length)

参数: start 代表开始的位置(小标值),    length 代表要截取的个数

1)一个参数都没有,它会把整个字符串返回

2)如果只有一个参数,那默认会从第一个参数都位置截到最后一位字符

返回值:返回截取到到字符串,原字符串没变。

var str = "song";
var s1 = str.substr();
console.log(s1);  //song
            
var s2 = str.substr(1);
console.log(s2); //ong
            
var s3 = str.substr(1,2);
console.log(s3);  //on

 

toLowerCase()

作用:把字符串全部转成小写。    语法:字符串.toLowerCase()

没有参数。

返回值:返回字符串转成小写的结果。原来的字符串不变。

 

toUpperCase()

作用:把字符串全部转成大写。    语法:字符串.toUpperCase()

没有参数。

返回值:返回字符串转成大写的结果。原来的字符串不变。

var str = "HAHA";
var s1 = str.toLowerCase();
console.log(s1);  //haha
            
var str1 = "superman";
var s2 = str1.toUpperCase();
console.log(s2); // SUPERMAN

 

Trim

作用:去掉字符串的首位空格。      语法:字符串.trim();

没有参数

返回值:返回字符串去掉首位掉空格的效果,原字符串不变。

一般trim是很少被用到的,可能会用到的地方是在验证用户名的时候,但是一般验证用户名用正则可以解决,所以用的机会就越来越少了。

var str =  "    haha    ";
console.log(str);  //     haha    
            
var s1 = str.trim();
console.log(s1);// haha

 

posted on 2017-08-20 08:07  宋王爷  阅读(105)  评论(0)    收藏  举报

导航