字符串的length属性
字符串的length属性代表字符串文字的个数,取下标可以访问字符串的每个文字,索引下标从0开始,类似于数组。
字符串常用的内置功能
1.大小写转换
toLocaleLowerCase():把字符串转换为小写,返回值是一个字符串。
toLocaleUpperCase():把字符串转换为大写,返回值是一个字符串。
toLowerCase():把字符串转换为小写,返回值是一个字符串。
toUpperCase():把字符串转换为大写,返回值是一个字符串。
区别:toLocaleLowerCase()和toLocaleUpperCase()方法是针对特定地区的实现。
案例:首字母大写
字符串截子串的方法
截取起止下标位置字符串:slice()和substring()
1)slice():提取字符串的片断,返回值是字符串中被提取的部分是一个新的字符串,不会改变原字符串。(传入的参数有两个start:number1,end:number2)
2)substring():提取字符串中两个指定的索引号之间的字符,返回一个新的字符串,该字符串是字符串中被提取的部分,不会改变原字符串。(传入的参数start:number1,end:number2)
两者相同:
1.索引下标从0开始。截取的字符串包含第一个参数所指定的字符。[number1,number2)表示第二个参数不被截取,即从第一个索引下标到第二个索引下标的前一个字符。 第二个参数如果省略,表示截取到结尾的所有字符串。
2.start与end相等,会返回一个空串(长度为0的字符串)
3.第二个参数省略,默认返回从第一个参数索引到字符串最后。
两者区别:
1.如果第一个参数值比第二个参数值大,substring()方法能够在执行截取之前先交换两个参数,而对于slice()方法来说,则被无视为无效,并返回空字符串。
2.如果参数值为负值,slice()方法能够把负号解释为从右侧开始定位,负数表示-1 指最后一个字符,-2 指倒数第二个字符。start为负数,end为正数会返回空字符串,当两个参数都是负数时只有第1个参数的绝对值大于第2个参数的绝对值才有效,否则返回空字符串。但是substring()方法start或end为负数,那么它将被替换为0,则两个参数都是负数会返回空字符串。
var str="abcd";
var re=str.slice(-1,-3);
console.log(re);
var re1=str.slice(-1,0);
console.log(re1);
截取指定长度的字符串:substr()
substr():返回新字符串从起始索引号提取字符串中指定数目的字符,不改变原字符串。(传入的参数from:number1,length:number2)number1表示从下标第几个开始截取,负数表示下标从后往前;number2不能为负数,截取的长度。
如果length为0或负数,将返回一个空字符串。
如果没有指定length,则子字符串从开始的索引到字符串最后。
将字符串按指定要求分割
split():把字符串分割为字符串数组,其返回值是数组(传入参数为字符串或正则表达式,从该参数指定的地方分割,剩下的字符放入到数组,分割的字符不会放入到数组)。把空字符串("")当参数那么字符串的每个字符之间都会被分割放到数组中,指定的分割符没有就整个字符串放入数组。
查找字符串的子串是否存在
indexOf():检索字符串。返回子串在字符串最开始出现的下标,没有该子串返回-1。
参数:第一个参数规定需检索的字符串值。第二个参数规定在字符串中开始检索的位置。它的合法取值是0到字符串的length属性值减1。如省略该参数默认为0,则将从字符串的首字符开始检索。
案例:检索子串重复的次数
valueOf和toString
valueOf():返回某个字符串对象的原始值(原始值为基本数据)。
toString():返回一个对象的字符串。
charAt()
charAt()方法可返回指定位置的字符,返回的字符是长度为 1 的字符串。参数是字符在字符串中的下标。字符串中第一个字符的下标是 0。如果参数不在 0 与 string.length 之间,该方法将返回一个空字符串。