JavaScript字符串在底层是一个字符串数组,比如hello字符串在底层是[“h”,“e”,“l”,“l”,“o”].
length: 字符串的属性,代表字符串的长度。
字符串可以像数组那样使用下标取值,比如 hello[0],但是不能设置值。
方法:
-
charAt(index):跟hello[index]效果一样,返回下标值。
-
charCodeAt(index):指定位置字符的字符编码,Unicode编码。
-
indexOf():可以从头检索某内容在字符串中第一次出现的位置,如果返回-1,代表该字符串不包含该内容,如果返回大于-1的数,返回的就是该内容在该字符串中的位置。可以传递第二个参数,表示从哪个下标开始向后检索。
-
lastIndexOf():该方法与indexOf相似,只是lastIndexOf是从后向前检索,也可以设置开始查找位置。
-
slice():可以从字符串中截取指定内容。
参数1是开始位置,包含,参数2是结束位置,不包含,不会影响原字符串,如果省略第二个参数,则截取到字符串最后,能接受负数。 -
subString():与slice类似,只是如果传递负数,会变成0,并且会调整自身参数位置,一旦开始位置比结束位置大,就调换。
-
subStr():第一个参数是起始位置,第二个位置是截取长度。
-
split():传入一个分隔符,字符串按照这个分隔符将字符串分割成一个字符串数组。
-
toUpperCase():转换为大写返回,不影响原数组。
-
toLowerCase(): 转换为小写。
String.fromCharCode():参数传递一个Unicode编码,根据Unicode编码返回其对应的字符。
正则表达式
具体的正则表达式介绍这里没涉及,只是介绍JavaScript如何使用正则表达式。
//创建正则表达式的语法
//使用构造函数创建
// var reg = new RegExp("正则表达式","匹配模式");
//使用typeof 检查正则对象,会返回object。
//匹配模式可以是:
//1. g 全局匹配,就是匹配所有正则表达式的字符串。
//2. i 忽略大小写。
var reg = new RegExp("a","i");
//使用test方法可以检查某个字符串是否符合正则表达式,符合就返回true。
var str1 = "a";
var str2 = "A";
var str3 = "c";
console.log(reg.test(str1));
console.log(reg.test(str2));
console.log(reg.test(str3));
//字面量方式创建正则表达式对象。 /正则表达式/匹配模式 ,不能加双引号或者单引号。
var exp = /a/gi;
console.log(exp .test(str1));
console.log(exp .test(str2));
console.log(exp .test(str3));
String类型支持正则表达式的方法:
- search():可以搜索字符串中是否含有指定内容,如果搜索到指定内容,就会返回第一次出现的下标,没有搜索到就返回-1,可以接受一个正则表达式作为参数,然后根据正则表达式去检索字符串。
- match():该方法可以根据正则表达式,从一个字符串中把符合条件的内容提取出来,默认情况下只会找到并提取第一个符合条件的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配所有内容,可以为一个正则表达式设置多个匹配模式,顺序没有关系。会把匹配结果封装成一个数组返回。
- replace():将字符串中指定的内容替换为新的内容,参数1是被替换的内容,可以使用正则表达式,参数2是新内容,默认只替换第一个符合的,如果要替换全部符合内容,就要加全局模式g。