JavaScript字符串常用类使用方法汇总

作者:异步漫步时间:2026-10-29 08:30:33浏览:211

本文汇总了JavaScript中字符串对象的常用方法,涵盖获取字符、查找子串、截取子串及格式转换等核心功能。详细解析了charAt、charCodeAt、indexOf、lastIndexOf、substring、slice及split等方法的参数规则、返回值及边界情况,帮助开发者准确掌握字符串处理技巧。

获取字符方法

提取字符串对象:

1)实例方法:

charAt : 返回字符串中指定索引位置的字符。(参数:一个,代表字符的索引值)

1,不支持负数索引,若传入负数则返回空字符串。

2,省略参数时,默认索引为0,即获取首个字符。

3,仅接受单个参数。

charCodeAt : 返回字符串中指定索引位置字符的Unicode码值(参数: 一个,代表字符的索引值)

1,每个字符均对应唯一的编码值。

2,仅接受单个参数。

常见编码:

数字字符 : 48 ~ 57

下划线 : 95

空格 : 32

制表符 : 9

小写英文字母 :97 ~ 122

大写英文字母 : 65 ~ 90

2)静态方法:

fromCharCode : 根据提供的Unicode码值生成对应的字符。(参数: 任意数量)

1,支持传入多个参数。

2,调用方式固定(静态方法):String.fromCharCode(); //有效编码范围 : 0 ~ 65535 String为字符串构造函数


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

查找子串方法

检索类:

indexOf : 查找指定子字符串首次出现的位置。(第一个参数,指定目标子字符串;第二个参数指定起始搜索索引。)

1,正向搜索,默认从索引0开始。

2,若找到则返回首次出现的索引,未找到则返回 -1。

3,若第二个参数为负数,则视为0处理

lastIndexOf : 查找指定子字符串最后一次出现的位置。(第一个参数,指定目标子字符串;第二个参数指定起始搜索索引。)

1,反向搜索,默认从 length - 1 索引开始。

2,若找到则返回首次出现的索引,未找到则返回 -1。


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

截取子串方法

截取类:

substring : 提取指定索引区间的子字符串。(第一个参数,指定起始索引;第二个参数,指定结束索引。)

1,提取区间包含起始索引,但不包含结束索引。

2,可省略第二个参数,表示从起始索引提取至字符串末尾

3,提取前会对比两参数大小,自动交换使小值在前大值在后,再进行提取。

4,所有非法参数均自动转换为0.

5,若不提供参数,默认返回完整字符串。

slice : 提取指定索引区间的子字符串。(第一个参数,指定起始索引;第二个参数,指定结束索引。)

1,提取区间包含起始索引,但不包含结束索引。

2,可省略第二个参数,表示从起始索引提取至字符串末尾

3,不比较也不交换参数位置

4,参数可为正数或负数,其余非法参数均转换为0。

5,负数表示从字符串尾部向前计数,最后一个字符索引为 -1。


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

字符串比较与其他方法

比较类:

alert(‘我'>'你'); //true 字符串比较仅对比首个字符的Unicode值大小,后续字符不参与比较。

其他类:

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

split() //将字符串分割为数组

参数: 一个 指定用于分割字符串的分隔符。

1,若未指定分隔符,则不分割,整个字符串作为数组唯一元素。

2,依据分隔符,将分隔符两侧的内容分别存入数组。

3,分隔符本身不会出现在结果数组中。

4,分隔符必须是字符串中实际存在的子字符串。

5,在split逻辑中,字符间由空字符串连接。

6,当用空字符串分割空字符串时,返回空数组。


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

trim() : 移除字符串首尾的所有空格。(保留字符串内部空格)。

HTML5新增方法,低版本浏览器不支持。

toUpperCase() : 将字符串全部转换为大写。(无参数)

toLowerCase() : 将字符串全部转换为小写。(无参数)

最后,所有字符串方法均不会修改原字符串。

以上所述即本文全部内容,希望能对大家有所帮助。

作者最新文章