JavaScript 字符串方法
最近在准备考1+x证书,刷了一些题,很多题中考到了js字符串的方法,特此总结一下。
字符串长度
length
属性返回字符串的长度
查找字符串中的字符串
indexOf()
方法返回字符串中指定文本首次出现的索引(位置)
lastIndexOf()
方法返回指定文本在字符串中最后一次出现的索引
如果未找到文本,indexOf()和lastIndexOf()都返回-1
两种方法都可以传入第二个参数,用来指定检索的起始位置
注意: lastIndexOf()
限制了检索位置为10 因此检索不到 返回-1
像下面这种情况 会从第30个字符开始检索 返回的仍然是从字符起点开始检索的位置 第二个参数只是会限制字符检索的长度 不会从后往前检索
检索字符串中的字符串
search()方法检索特定值的字符串,并返回匹配的位置。听上去和indexOf()
方法是相等的,实际上,区别很大
区别在于:search()
方法无法设置第二个开始位置的参数。
indexOf()
方法无法设置更强大的搜索值(正则表达式)。
如图:指定参数无效 还是从头开始检索
提取部分字符串
提取部分字符串有三种方法:
- slice(start,end);
- substring(start,end);
- substr(start,length);
slice()方法
slice()
提取字符串的某个部分 并且在新字符串中返回被提取的部分。
俩个参数:起始索引,终止索引;
从2开始包括2 到5结束 不包括5
参数为负数
省略第二个参数
省略第二个参数 则会拿到剩余的字符
从结尾计数
注意:参数为负数 不适用于ie8及其更早版本
substring()方法
substring()
类似于slice()
区别:substring()
不能接受负的索引
传入负数索引是无效的 会从起点0开始截取
同slice()
一样,如果省略第二个参数,则将截取字符串的剩余部分
substr()方法
substr()
也类似于slice()
区别:第二个参数 规定被提取部分的长度,第二个参数不能传入负数,因为长度不能为负数
参数为负,没有打印结果 打印失败
参数为正 正常截取
首个参数为负 第二个参数长度指定无效 负几 截取到几个字符 这里是负2 因此 截取到2个字符
同slice()
一样,如果省略第二个参数,则将截取字符串的剩余部分
替换字符串内容
replace()
方法用另一个值替换在字符串中指定的值
参数1 为原字符串中的值 参数2为替换的值
返回的是一个新字符串 不会改变原有字符串 默认只替换首个匹配到的字符
默认情况下 replace()
对大小写敏感
使用正则表达式/i
(大小写不敏感) ** **注意:正则表达式不带引号
替换所有匹配
使用正则表达式的g
(用于全局搜索)
转为大写和小写
toUpperCase()
把字符串转换为大写
toLowerCase()
把字符串转换为小写
连接两个或多个字符串
concat()
可用于代替加运算符
所有的字符串方法都会返回新字符串 不会修改原始字符串.
字符串是不可变的:字符串不能更改,只能替换
删除字符串两端的空白符
trim()
方法删除字符串两端的空白符
注意:ie8或更低版本不支持trim()
方法 。
如需支持ie8或更低版本 可以使用replace()
需搭配正则
提取字符串字符
charAt()
charAt()
方法返回字符串中指定下标(位置)的字符串
charCodeAt()方法
charCodeAt()
方法返回字符串中指定索引的 unicode
编码
字符串转换为数组
split()
将字符串转换为数组
省略分隔符 被返回的数组将包含index[0]中的整个字符串
如分隔符是””,被返回的数组将是间隔单个字符的数组
总结:革命尚未成功 同志仍需努力 细节决定成败