一、字符串的常用方法
1.charAt(索引号)
返回索引号对应的字符,作用与 字符串名[索引号] 相同,但 charAt(索引号) 是内置对象的方法,而 字符串名[索引号] 只是普通的字符串访问。
var str='adgskl'
str.charAt(0) //str[0] 一样,都能得到字符a
2.indexOf(‘字符’)
indexOf可以找到对应子字符的下标,当要找的字符不存在时,返回-1。当子字符也是一个字符串而非单个字符时,返回的是子字符串第一个字符的下标。
var str='adgsadkl'
str.indexOf('ad') //返回0
str.indexOf('adk') //返回4
indexOf会判断要找下标的子字符串在原字符串中是否存在,存在就返回子字符串第一个字符在原字符串中的下标,否则就返回-1
3.lastIndexOf(‘字符’)
lastIndexOf和indexOf一样,都是根据字符找下标的,不同的是,lastIndexOf是从后往前找,从最后一个字符开始匹配,匹配到第一个相同的就返回他的下标。
4.substring(开始索引号,结束索引号)
截取开始索引号到结束索引号之间的内容,结束索引号对应的字符不会被截取,这是一个前闭后开的范围。截取后会返回一个截取到的字符串。
var s = 'dhiuasfhiuf'
var sub = s.substring(2,5)
//得到sub='iua'
substring(开始索引号)这样如果不写结束索引号,返回的就是开始索引号之后的所有字符。
5.substr(开始索引号,截取个数)
该方法与数组中的splice用法类似,第一个参数都是开始索引号,从这里开始截取,第二个参数都是要截取的个数。截取后都返回截取到的内容。
不同的是,substr截取后原字符串没有影响;二splice截取后,数组会将截取到的部分删除。
6.split(‘用于分割的字符’)
split(‘分割字符’),按照分割字符把字符串分割,分割后返回的是一个数组,相当于把分割字符换成了逗号,加个中括号,于是字符串就变成了数组。
var s = 'cdadgsadkanhgafghl'
var arr = s.split('a')
console.log(arr);
//得到结果:["cd", "dgs", "dk", "nhg", "fghl"]
split的用处很多。最经典的就是字符反转和敏感词替换。
字符反转:以空字符串分割整段字符串,返回一个数组,数组的每一个值对应每一个字符,然后用数组的reverse反转方法将数组反转,再用数组的join方法以空字符串连接数组的每个元素,返回一个字符串,这个字符串就是原字符串反转后的字符串。
敏感词替换:以敏感词作为分割符将字符串分割得到一个数组,再以要替换的词作为连接符将数组的每一项join连接,返回一个字符串,这个字符串就是替换掉敏感词的字符串。
7. trim()
删除字符串两端的空白,返回一个两端没有空格的字符串。注册登录时我们有时候会不小心打个空格,这时这个方法就有用武之地了。
8.startWith() & endsWith()
判断字符是否以子字符串开始或结束,是就返回true,否则返回false。
9.toLowerCase & toUpperCase
不需要参数,但有返回值
str.toUpperCase() 将字符转换为大写字符并返回
str.toLowerCase() 转小写并返回
10.replace(子字符串,新字符)
用新字符串替换子字符串,返回替换之后的字符串。