1.获取字符串长度 length
const str = "hello";
str.length;//5
2.获取字符串指定位置的值 charAt() charCodeAt()
chartAt()方法获取到的是指定位置的字符;
const str = "hello";
str.charAt(1);//输出结果为 e
charCodeAt()获取到指定位置字符的Unicode值;
const str = "abc";
str.charCodeAt(1);//输出结果为98;
3.检索字符串是否包含特定序列 indexOf() lastIndexOf() includes() startsWith() endsWith()
注意这5个方法都对大小写敏感
indexOf():查找某个字符,有则返回第一次匹配到的位置,没有返回-1
该方法有2个参数:
- searchvalue:必需,规定检索的字符串值
- fromindex:可选参数,规定字符串检索位置。如省略默认从首字母开始检索
let str = "abcb";
str.indexOf("a");//输出 0
str.indexOf("b",2);//输出 3
str.indexOf("s");//输出-1
lastIndexOf():和indexOf()类似,只是查找顺序不同,indexOf是正序查找,lastIndexOf是倒序查找
let str = "abcabc";
str.lastIndexOf("a");//输出3
str.lastIndexOf("q");//输出-1
includes():用于判断字符串是否包含指定字符串,找到返回true,没找到返回false
str.includes(searchvalue,fromindex);//searchvalue是查找的字符串;fromindex是从哪里开始查找,默认是0
let str = "abcadsac";
str.includes("ca");//true
str.includes("adsss");//false
str.includes("ac",2);//true
startsWith():检测字符串是否以指定的字符串开始。是返回true否则返回false
str.startsWith(searchvalue,fromindex)
var str = "abxcc";
str.startsWith("a");//true
str.startsWith("f");//false
endsWith():检索字符串是否以指定的字符结尾。是则返回true否则返回false
str.endsWith(searchvalue,fromindex)
4.字符串分割成数组split()
split():字符串分割成数组,不会改变原有的字符串。
str.split(separator,limit);
//separator:必需,字符串或是正则表达式,从该参数指定位置分割字符串
//limit:可选,该参数可指定返回数组的最大长度,若不设置,整个字符串都会被分割,不考虑长度
let str = "abcdef";
str.split("d");//输出结果["abc","ef"]
str.split("",3)//输出结果["a","b","c"]
//若separator的值是空字符串,则字符串中的每个字符都会被分割
5.截取字符串 slice() substr() substring()
slice():提取字符串某些部分返回被提取的部分,不改变原字符串
str.slice(starti,endi-1);
starti:必需,截取片段的起始下标。若是负数则从后面开始截取 endi:可选,要截取片段的结尾下标,若未指定,则从starti到字符串结尾。若是负数,则是从字符串尾部开始算起。
6.字符串大小写转换 toLowerCase() toUpperCase()
toLowerCase():把字符串转换为小写
const str = "aBc";
str.toLowerCase();//abc
toUpperCase():把字符串转换为大写
7.连接多个字符串 concat()
concat连接多个子字符串不会改变原有的字符串,还返回2个或多个新的字符串
str.concat(str1,str2,str3...)
虽然concat是用于连接字符串的,但是日常更多的是用+连接字符串,因为更加简便
8.字符串匹配模式 replace() match() search()
replace():字符串中用一些字符替换另一些字符,或是替换一个子字符串。
str.replace(searchvalue,newvalue);
//searchvalue:必需,是要替换的对象
//newvalue:必需,是替换的值;
let str = "abcdefD";
str.replace("d","a");//abcaefD
str.replace(/d/ig,"a");//abcaefa
match():在字符串内检索指定的值,返回指定的值。
str.march(regexp);
//regexp:规定要匹配的正则对象,若该参数不是正则,则需要把他传递给正则的构造函数,将其转化为正则对象。
【注意】:该方法返回存放匹配结果的数组。
const str = "abcdef";
str.match("c");//["c", index: 2, input: "abcdef", groups: undefined]
search():检索字符串中指定的子字符,或检与正则表达式相匹配的子字符串。返回str中第一俄国与正则相匹配的起始位置,没有则返回-1。
str.search(searchvalue);
9.移除字符串末尾的空格 trim() trimStart()
10.获取字符串本身 valueOf() toString()
11.重复一个字符串 repeat()
repeat():返回一个新的字符串,将原字符串重复n次。
"a".repeat(3);//"aaa"
"ban".repeat(2);//"banban"
"c".repeat(0);//""
若参数是小数会向下取整
"a".repeat(2.9);//"aa"
若参数是负数或infinity会报错; 若参数是字符串会先字; 若参数是0-1之间的小数,会先进行取整运算,0等同于0,NaN等同于0;