参考链接:blog.csdn.net/carriehaoha...
一、截取对应索引的串
1、针对单个字符
charAt
获取对应位置的单个字符。
注意:字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。charCodeAt
获取对应位置的单个字符在Unicode字符集中的编码值。
注意:如果该位置没有字符,返回值为NaN
2、针对截取字符区间
slice
截取字符串(参数:1. 开始索引【必须】,2. 终点索引)
js
字符串 = str.slice(索引1,索引2); //两个参数都是索引值
//(2,5) 正常包左不包右
//(2) 从指定的索引位置剪到最后
//(-3) 从倒数第几个剪到最后
//(5,2) 前面的大,后面的小,无意义,空
substr
截取字符串(参数:1. 开始索引【必须】,2. 截取长度)
js
字符串 = str.substr(参数1,参数2); //1索引值,2长度
// 第一个参数为从索引位置取值,第二个参数返回字符长度
//(2,4)从索引值为2的字符开始,截取4个字符(索引2算一个字符)
//(1) 一个值,从指定位置到最后
//(-3) 从倒数第几个剪到最后
// 不包括前大后小的情况
substring
同slice
js
字符串 = str.substring(参数1,参数2); //两个参数都是索引值。
//不同1:参数智能调转位置
//不同2:参数负值,将全部获取字符串
//(2,5) 正常包左不包右
//(2) 从指定的索引位置剪到最后
//(-3) 获取全部字符串
//(5,2) 前面的大,后面的小,不是空,同(2,5),智能调换
二、完整匹配检索 indexof / lastIndexOf
给你原始字符串和目标字符串,返回对应第一次出现的首字母索引。语法是 str.X('one');
indexof
从前向后,找第一个符合元素的位置lastIndexOf
从后向前,寻找第一个符合元素的位置
三、字符串拼接 concat
新字符串 = str1.concat
(str2) 连接两个字符串
四、修改副本字符串并返回结果
trim、replace、split、join、大小写
trim
只能去除字符串前后两端的空白replace
全局查找并替换split
把字符串切割成数组join
把数组转为字符串toLocaleUperCase
、toLocaleLowerCase
大小写转换。
js
var str = " aaa bnn dccc "
console.log(str.trim()); //"aaa bnn dccc"
str = "abc";
console.log(str.replace("a","b"));//"bbc"
str = "我-爱-你";
//若参数为空字符串"",默认用逗号把字符串中的每个元素分隔
console.log(str.split(""));//["我", "-", "爱", "-", "你"]
//若不写参数,整个字符串作为数组的一个元素
console.log(str.split());//["我-爱-你-中-国"]
//分隔完毕之后,使用的字符将不存在数组中
console.log(str.split("-"));//["我", "爱", "你", "中", "国"]
五、uri 编码
URI (Uniform ResourceIdentifiers,通用资源标识符)进行编码,以便发送给浏览器。有效的URI中不能包含某些字符,例如空格 。而这URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符
,从而让浏览器能够接受和理解。(它们是BOM下的一个方法,属于window对象) encodeURIComponent
() 函数可把字符串作为 URI 组件进行 编码 decodeURIComponent
() 函数可把字符串作为 URI 组件进行 解码
六、特殊情况
1、toLowerCase()和toLocaleLowerCase()
注意 :在JavaScript中,toLowerCase()和toLocaleLowerCase()都是用于将字符串中的所有大写字符转换为小写字符。大多数情况下,这两个方法的结果是相同的。但是,它们在处理某些特定语言环境的字符时有所不同。 toLowerCase()方法不考虑语言环境,它仅仅是按照英语的规则进行转换 。所以对于某些非英语字符,可能无法正确转换。 而toLocaleLowerCase()方法则考虑了语言环境。例如在土耳其语环境中,大写的"I"在转换为小写时应该是"ı",而非英语中的"i"。 举例说明:
javascript
var str = "I";
console.log(str.toLowerCase()); // 输出 "i"
// (指定土耳其语环境)输出 "ı"
console.log(str.toLocaleLowerCase('tr-TR'));
2、toString()和toLocaleString()
在JavaScript中都是用于将对象转换为字符串表示。但它们在处理某些特定类型的对象时有所不同,尤其是在处理日期和数字类型时。 toString()方法不考虑语言环境,它仅仅是按照通用的规则进行转换 。 而toLocaleString()方法则考虑了语言环境,它会根据指定的语言环境或浏览器的默认语言环境来格式化输出。这对于日期和数字类型尤为重要,因为不同的语言环境可能有不同的日期格式和数字分隔符。 举例说明:
- 日期对象:
javascript
var date = new Date();
// 通用的字符串表示
// 输出 "Wed Sep 22 2021 10:20:30 GMT+0800 (中国标准时间)"
console.log(date.toString());
// 指定中文环境时,日期对象被转换为了符合中文习惯的字符串表示
// 输出 "2021/9/22 下午10:20:30"
console.log(date.toLocaleString('zh-CN'));
- 数字对象:
javascript
var number = 1234567.89;
// 通用的字符串表示。输出 "1234567.89"
console.log(number.toString());
// 指定美国英语环境时,数字对象被转换为了符合美国英语习惯的字符串表示。
// 即 使用逗号作为千位分隔符
console.log(number.toLocaleString('en-US')); // 输出 "1,234,567.89"