1.字符方法
charAt() : 返回单字符
charCodeAt() : 返回字符编码
var s = "hello world";
alert(s.charAt(1)) // "e"
alert(s.charCodeAt(1)) // "101"
2.字符串方法
concat() : 将一个或多个字符串拼接起来,在实践中更多用“+”号操作符更简便。
slice() : 返回开始位置到结束位置之前字符串。
参数都为负数时,每个参数加上字符串长度
substr() : 返回开始位置,第二个参数字符个数
参数都为负数时,第一个参数加字符串长度,第二个参数变为0
substring() : 返回开始位置到结束位置之前字符串
参数都为负数时,每个参数变为0
栗子:var s="hello world"
s.slice(-3) // "rld' s.slice(-3,-5) // 等于 s.slice(8,6) 结果为 “”
s.substr(-3) // "rld" s.substr(-3,-5) // 等于 s.substr(8,0) 结果为 “”
s.substring(-3) // "" s.substring(-3,-4) //等于 s.substring(0,0) 结果为 “”
3.字符串位置方法
indexOf() : 从字符串开头向后搜索
lastIndexOf() : 从字符串末尾向前搜索
栗子: var s="hello world"
s.indexOf("o") // 4 s.indexOf("o",6) //7 从位置6向后找‘o’
s.lastIndexOf("o") // 7 s.lastIndexOf("o",6) //4 从位置6向前找‘o’
场景应用:循环调用上面两个方法找到所有匹配的字符串
var strVal="Lorem ipsum dolor sit amet, consectetur adipisicing elit"
var p=s.indexOf("e"); var arr=[];
while(p>-1){
arr.push(p);
p=s.indexOf("e",p+1)
}
console.log(arr) // [3,24,32,35,52]
4.trim()方法
删除前置及后缀的所有空格,返回结果
栗子:var s=" hello world "
var trims = s.trim() //trims是 "hello world"
5.字符串大小写转换方法
toLowerCase() 针对特定地区的方法toLocaleLowerCase()
toUpperCase() 针对特定地区的方法 toLocaleUpperCase()
栗子:var s="hello world"
s.toLowerCase() // "hello world"
s.toLocaleLowerCase() // "hello world"
s.toUpperCase() // "HELLO WORLD"
s.toLocalseUpperCase() // "HELLO WORLD"
6.字符串匹配方法
match() //本质上与调用RegExp的exec()方法相同
只接受一个参数,正则表达式的字符串或RegExp对象
返回一个数组
栗子:var text = "cat , bat , sat, fat";
var pattern = /.at /;
//与pattern.exec(text)相同
var matches= text.match(pattern);
matches.index //0
matches[0] // 'cat'
search() //本质上与调用RegExp的exec()方法相同
只接受一个参数,正则表达式的字符串或RegExp对象
返回位置
栗子:var text = "cat, bat, sat, fat";
var p=text.search(/at/); 等于 text.search("at")
//p是1
replace() 接受两个参数,第一个参数是regexp对象或字符串,第二个参数是一个字符串或函数。
如果第一个参数是字符串,那么只会替换第一个字符串。需替换所有字符串,唯一方法是提供一个正则表达式,并 用全局(g)标志
栗子:var text = "cat, bat, sat, fat";
var r = text.replace("at","ond") //r是 "cond, bat, sat, fat"
var r1 = text.replace(/at/g,"ond") //r是 "cond, bond, sond, fond"
栗子2:第二个参数为函数,在只有一个匹配项(与模式匹配的字符串)的情况下,会向这个函数传递3个参数:模 式匹配项,模式匹配项在字符串中的位置,原始字符串。
function html(text){
return text.replace(/[<>"&]/g,function(macth,pos,originalText){
switch(macth){
case "<":
return "$lt";
case ">":
return "$gt";
case "\"":
return "$amp;";
case "&":
return "$quot;";
}
})
}
console.log(html("<p class=\"greeting\">hello world</p>"))
// $ltp class=$amp;greeting$amp;$gthello world$lt/p$gt
这个函数能转义4个字符:< > " & 实现这种转义的最简单方式,是使用正则表达式查找这几个字符,然后 定义一个能够针对每个字符返回特定HTML实体的函数。
split() 将一个字符串分割成多个字符串,并将结果放在一个数组中。
分割符可以是字符串,也可以是regexp对象
第二个参数用于指定数组大小
栗子:var text = "red,blue,green,yellow";
var t1=text.split(",") //["red", "blue", "green", "yellow"]
var t2=text.split(",",2) //["red", "blue"]
var t3=text.split(/[^\,]+/) //["", ",", ",", ",", ""]
localeCompare() 比较两个字符串在字母表中的排序
如果参数排在字符串之前,返回1。排在之后返回-1。相同返回0。
栗子:var string = "yellow";
function de(v){
var r = string.localeCompare(v);
if(r<0){
alert(v+"after"+string)
}else if(r>0){
alert(v+"before"+string)
}else{
alert(v+"equal"+string)
}
}
de("zero")