js 字符串常用api
!!!所有字符串的方法都会返回新字符串。它们不会修改原始字符串。
!!!所有字符串的方法都会返回新字符串。它们不会修改原始字符串。
!!!所有字符串的方法都会返回新字符串。它们不会修改原始字符串。
查找字符串
一、 length: 返回字符串的长度
var str = "abcdef"
var strLen = str.length // 6
二、 indexOf( ): 返回字符串中指定文本首次出现的索引(位置
***如果未找到返回 -1(可以利用这个做js判断)
var str = "abcdefdasf"
var strfirst = str.indexOf('d',1) //3
// 第一个参数为查找的字符,第二个是从那个位置开始,不写默认为第一项
三、lastIndexOf(): 返回字符串中指定文本最后一次出现的索引(位置)
***如果未找到返回 -1(可以利用这个做js判断)
var str = "abcadef"
var strLen = str.lastIndexOf('a',0) // 3 同上
四、 search( ):返回字符串中指定字符串的首次出现的索引(位置)
var str = "abcdedf"
var strLen = str.search('de') // 3
search() 和indexOf() ,它俩的区别是:
**search() 方法无法设置第二个开始位置的参数
**indexOf() 方法无法设置更强大的搜索值(正则表达式)
截取字符串(提取部分字符串)
一、slice(start, end):参数: 起始索引(开始位置),终止索引(结束位置);截取的结果包含开始位置,不包含终止位置。
var str = "abcdef"
var strLen = str.slice(2,5) // cde
如果参数为负数,则从字符串的末尾向前计算:
var str = "abcd"
var strLen = str.slice(0,-1) // abc
//很方便解决删除最后一个字符
如果省略第二个参数,则从起始的位置裁剪到字符串的结尾
var str = "abcdef"
var strLen = str.slice(2) // cdef
注意: 负数参数不能用于IE8及以前
二、 substring(): 类似于slice(),区别是不能设置负数索引
substring(start, end)
三、 substr(): 类似于slice(),区别是第二个参数不同
substr(start, length)
参数: 起始索引(开始位置),被提取的部分的长度
截取的结果包含开始位置。
var str = "abcdefjh"
var strLen = str.substr(1,5) // bcdef
如果省略第二个参数,则从起始的位置裁剪到字符串的结尾
var str = "abcdef"
var strLen = str.substr(2) // cdef
如果首个参数为负数,则从字符串的结尾计算位置
var str = "abcdefjhigk"
var strLen = str.substr(-2) // gk
注意: 第二个参数不能是负数,因为它定义的是长度。
替换字符串内容
replace() 参数: 字符串中即将被替换的文本,替换成的文本
该方法默认只替换首个匹配:
var str = “hello world”
var strx = str.replace(“world”,“xiaomeizi”) // hello xiaomeizi
注意: 该方法对大小写敏感,因此不会匹配到大写的”WORLD“
如果想执行大小写不敏感的替换需要使用正则表达式: /i(大小写不敏感 )全替换 加 /ig
var str = "HELLO world"
// 注意:使用正则表达式时不需要带引号
var strx = str.replace(/hello/i,"xiaomeizi") // xiaomeizi world
转换为大小写
toUpperCase():把字符串转换成大写
var str = "hello world"
var strx = str.toUpperCase() // HELLO WORLD
toLowerCase():把字符串转换成小写
var str = "Hello World"
var strx = str.toLowerCase() //hello world
连接两个或多个字符串
concat(): 参数: 第一个参数是用什么连接,第二个是连接到谁
var str1 = "Hello"
var str2 = "World"
var str3 = "xxx"
var strx = str1.concat(" ",str2) //Hello World
var stry = str1.concat(" ",str2," 123 ",str3) //Hello World 123 xxx
//我感觉还不如+好用
去空格:删除字符串两端的空白字符
trim() 去掉字符串两端的空格
var str1 = " Hello World "
var stry = str1.trim() //Hello World
注意: IE8及更低版本不支持 trim() 方法。
提取字符串字符
charAt(position): 方法返回字符串中指定下标(位置)的字符串
参数: 指定下标(位置)
var str1 = "Hello World"
var stry = str1.charAt(0) // 返回 H
字符串转换为数组
split(): 将字符串转换为数组:
var str1 = "a,b,c,d,e,f"
var arr = str1.split(",") // 用逗号分隔 ["a","b","c","d","e","f"]