substr() 将第一个参数-11与字符串长度相加,将第二个参数-9转化为0,substr(-11,-9) 相当于 substr(7,0),即从第7位开始,提取0个字符串,即也是空字符串。
3.字符串位置方法
indexOf() 方法和 lastIndexOf() 方法,返回要检索的子字符串在原始字符串中第一次出现的位置。
indexOf() 方法从原始字符串开头向后检索子字符串,lastIndexOf() 方法从原始字符串末尾向前检索子字符串。
indexOf() 方法和 lastIndexOf() 方法接受一个必选参数。
var test = "balala balala balala"; alert(test.indexOf("a")); //"1" alert(test.lastIndexOf("a")); //"19"
indexOf() 从开始位置向后检索子字符串 "a","a" 第一次出现的位置是1;lastIndexOf() 从末尾位置向前检索子字符串 "a","a" 第一次出现的位置是19。
如果没有找到要检索的子字符串,则这两个方法都会返回-1。
var test = "balala balala balala"; alert(test.indexOf("h")); //"-1" alert(test.lastIndexOf("h")); //"-1"
indexOf() 方法和 lastIndexOf() 方法接受第二个可选参数,表示从原始字符串的哪个位置开始。
var test = "balala balala balala"; alert(test.indexOf("a",7)); //"8" alert(test.lastIndexOf("a",7)); //"5"
indexOf("a",7) 从第7位向后检索子字符串 "a","a" 第一次出现的位置是8;lastIndexOf("a",7) 从第7位向前检索子字符串 "a","a" 第一次出现的位置是5。
4.字符串大小写换换方法
ECMAScript 中涉及字符串大小写转换的方法有4个:toUpperCase()、toLocaleUpperCase()、toLowerCase()、toLocaleLowerCase()。
toUpperCase() 和 toLowerCase() 是典型的方法,toLocaleUpperCase() 和 toLocaleLowerCase() 是针对当地地区的方法,以保证字符串正确的转换。
在不知道自己的代码在哪种语言环境中运行时,使用针对当地地区的方法更稳妥一些。
var test = "balala balala balala"; alert(test.toLocaleUpperCase()); //"BALALA BALALA BALALA" alert(test.toUpperCase()); //"BALALA BALALA BALALA" alert(test.toLocaleLowerCase()); //"balala balala balala" alert(test.toLowerCase()); //"balala balala balala"
5.trim()方法
trim() 方法会创建原始字符串的副本,并删除前置和后缀的所有空格,然后返回结果,不会改变原始字符串。
var test = " balala balala balala "; var test1 = test.trim(); alert(test1); //"balala balala balala" alert(test); // " balala balala balala " alert(test1.length); //"20" alert(test.length); //"28"