所有的字符串方法都会返回新的字符串,而不是改变原串。
查找字符串
indexOf(src,index)
从头开始遍历target字符串,查出匹配src的首次出现的索引(位置),未找到返回-1
lastIndexOf(src,index)
从末尾开始遍历target字符串,查找匹配src的首次出现的索引(位置),未找到返回-1
search(src)
和indexOf相同,只不过没有第二个开始位置参数。
字符串提取
slice(start, end)
提取从start开始到end的字符串内容,如果end大于字符串总长度或者省略不传,则提取start之后的所有字符串,如果某个参数为负(负值不适合IE8及更早版本),则从字符串的结尾开始计数。
var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7); //Banana
substring(start, end)
类似于slice(),但是不接受数值为负的入参
substr(start, length)
类似于slice,区别在于第二个参数是被提取部分的长度,如果省略,则直接提取到字符串末尾,start支持为负。
charAt(index)
返回字符串中指定下标(位置)的字符串,相对于直接使用str[index]获取字符的方式更加的安全,如果找不到会直接返回空字符串,但是str[index]则会返回undefined,同时采用str[index]只是读取字符串,并不能通过str[index] = ‘A’ 的方式改变index位置的值。
charCodeAt()
返回字符串中指定索引字符的unicode编码;
字符串分割
split(str)
根据str将字符串分割为数组,省略分隔符,被返回的数组将包含 index [0] 中的整个字符串。如果分隔符是 “”,被返回的数组将是间隔单个字符的数组
var str = "Hello";
var arr = str.split(""); ['H','e','l','l','o']
var str = "a,b,c,d,e,f";
var arr = str.split(); // arr[0]为"a,b,c,d,e,f"
字符串拼接
concat(str1, str2, str3…)
拼接多个字符串,也可以用+运算符实现
其他函数
replace(target, src)
将字符串中的target字符串替换为src字符串,只替换首个匹配项并且对大小写不敏感,但是第一个参数支持正则表达式,即如果想要实现大小写不敏感替换或者替换所有匹配项,可以采用正则解决。
str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");
var n = str.replace(/Microsoft/g, "W3School");
toUpperCase()
字符串转大写
toLowerCase()
字符串转小写
trim()
去除两边的空白字符,IE8及以下版本不支持该方法。使用replace结合正则也能实现,但是相对麻烦。
总结参考:https://www.w3school.com.cn/js/js_string_methods.asp