JavaScript常用字符串方法

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-05 11:18:38

获取类

1)动态方法:

charAt : 获取字符串指定位置上的字符。(参数:一个,指定要获取的字符位置)

1,不接受负数,如果为负数,会返回一个空字符串。

2,如果不给参数,默认是获取第0位置上的字符。

3,只接收一个参数。

charCodeAt : 获取字符串中指定位置上字符的Unicode编码(参数: 一个,指定要获取字符编码的字符位置)

1,任何字符都有一个唯一的字符编码。

2,只接收一个参数。

  常用:

    数字 : 48 ~ 57

    下划线 : 95

    空格  : 32 

    制表符 : 9

    小写字母 :97 ~ 122

    大写字母 : 65 ~ 90

2)静态方法:

fromCharCode : 根据指定的字符编码返回对应的字符。(参数: 任意多个)

1,可以接收多个参数。

2,写法是固定的(静态方法):String.fromCharCode();   //字符编码有效范围 : 0 ~ 65535 String是字符串的对象

1 var str = '我是字符串';
2 alert( str.charAt( 2 ) );    //''    如果本身长度只有5,却找str.charAt(12) 找不到也是空字符串’’,0~str.length-1是合法范围。
3 alert( str.charAt( ) );      //'我'  默认不写是0,找到第一个字符
4 alert( str.charAt(2) );      // '字'
5 alert( '1234'.charAt( 2 ) ); //3
6 alert( '1234'.charAt(2,3) ); //3
7 alert( str.charCodeAt( 2 ) );//23383 unicode编码
8 alert( '1'.charCodeAt() );   // 49
9 alert(String.fromCharCode(23383 ,21619)); //'字味' 根据编码转换成字符(静态方法)多个字符用 , 隔开

查找类

indexOf : 查找指定的子字符串在字符串中第一次出现的位置。(第一个参数,指定要查找的子字符串;第二个参数指定开始查找的位置。)

1,从前往后查找,默认从第0位置开始。

2,如果找到了,就返回第一次被查找到的位置,如果没有找到,就返回 -1。

3,如果第二个参数为负数,默认当成0来处理

lastIndexOf : 查找指定的子字符串在字符串中最后一次出现的位置。(第一个参数,指定要查找的子字符串;第二个参数指定开始查找的位置。)

 1,从后往前查找,默认从第 length - 1 位置开始。

 2,如果找到了,就返回第一次被查找到的位置,如果没有找到,就返回 -1。

1 var str = 'www.baidu.com/2015';
2 alert(str.indexOf('bai'));   //4  从左往右找找到一个就返回不会再往右找了
3 alert(str.indexOf('m',5))    //12 从第5位开始向右找
4 alert(str.indexOf('X'))      //-1 不存在的话结果是 -1 表示没找到
5 alert(str.lastIndexOf('ww')); //1

截取类

substring : 提取指定范围的一段子字符串。(第一个参数,指定要提取的开始位置;第二个参数,指定要提取的结束位置。)

1,提取范围包括开始位置,但是不包括结束位置。

2,可以省略第二个参数,表示从开始位置提取到字符串结束

3,在提取之前会先比较两个参数的大小,然后按从小到大的顺序调整参数位置,再提取。

4,所有的非法参数都会自动转化成0.

5,如果不给参数,默认直接返回整个字符串。

slice : 提取指定范围的一段子字符串。(第一个参数,指定要提取的开始位置;第二个参数,指定要提取的结束位置。)

1,提取范围包括开始位置,但是不包括结束位置。

2,可以省略第二个参数,表示从开始位置提取到字符串结束

3,不会比较两个参数的位置,更不会调整位置的位置

4,参数可以是正数,也可以是负数,其它所有非法参数都会转换成0。

5,负数表示从字符串的后面往前数字符位置,最一个字符的位置是 -1。

1 var str = '我是字符串';
2 alert(str.substring());     //'我是字符串'
3 alert(str.substring(-2,1)); //'我'
4 alert(str.substring(2));    //字符串
5 alert(str.substring(0,2));  //'我是' 与str.substring(2,0)是一样的。可以检测两个数,大的往后仍,小的往前仍。负数当成0来处理。
6 alert(str.slice(2,0));        //空白 找不到,不交换位置
7 alert(str.slice(-2));         //'符串' 负数就是从后面倒着往前数

比较类

alert(‘我’>’你’); //true 字符串比较就比较第一个字符对应的Unicode值大小,后边的就不比较了。 

其他类

alert(str.length); //获取字符串长度

split() //把字符串切成数组

参数: 一个  指定一个分割符用来分割字符串。

1,如果不指定分割符,就不会分割,直接存入数组。

2,以分割符为依据,把分割符左右两边的值分别存入数组。

3,分割符本身不会存入数组。

4,分割符只能是字符串中存在的子字符串。

5,在split看来,两个字符之间必须依靠空字符串连接。

6,当用空字符串去分割空字符串的时候,会得到一个空数组。

 1 var str = '1234';
 2 alert( typeof str ); //string
 3 alert( typeof str.split() ); //object
 4 alert( str.split().length ); //['1234']
 5 alert( str.split('2') );  //['1','34']
 6 alert( str.split('a') );  //['1234']
 7 alert( str.split('23') ); //['1','4']
 8 alert( str.split('').length ); //['1','2','3','4']
 9 alert( str.split('') );        //['1','2','3','4']
10 //'1234' 由五个 '' 加 四个字符组成
11 alert( str.split('1234') );//['','']
12 alert( str.split('1') );   //['','234']
13 alert( ''.split(' ').length ); //['']
14 alert( ''.split('').length );  //[]
15 //特例,只有这种情况下 split 才会返回空数组。

trim() : 去除字符串首尾的所有空格。(字符串中间的空格会保留)。

        html5的新方法,低版本浏览器不支持。

toUpperCase() : 把字符串全部转换成大写。(没有参数)

toLowerCase() : 把字符串全部转换成小写。(没有参数)

最后,所有的字符串方法,都不会修改字符串本身。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!