这些方法都不会修改原字符串
(1)charAt(index)
返回子字符串,index为字符串下标,index取值范围 [ 0, str.length - 1 ]
var str = 'abcd'
str.charAt(1) // "b"
(2)indexOf(searchString, startIndex)
返回子字符串第一次出现的位置;startIndex 选填,表示从 startIndex 开始查找,找不到时返回-1
var str = 'abcd'
str.indexOf('b') // 1
(3)lastIndexOf(searchString, startIndex)
从右往左找子字符串;startIndex 选填,表示从 startIndex 开始逆向查找,找不到时返回-1
var str = 'abcd'
str.lastIndexOf('b') // 1
(4)substring(startIndex, endIndex)
截取字符串,没有 endIndex 表示截取 startIndex 以下所有字符;如果startIndex 小于 endIndex,结果与两个参数调换了一样;负值当 0 处理。
substring(0, 5) : 截取前5个字符,共(5 - 0)= 5个字符
substring(5) : 从第5项截取到最后
substring(2, 5) : 截取从第2项到第5项,共(5 - 2)= 3个字符
substring(5, 2) : 截取从第2项到第5项,共(5 - 2)= 3个字符
var str = '123456'
var _str = str.substring(1, 4) // '234'
(5)slice(startIndex, endIndex)
提取字符串的一部分;startIndex, endIndex可以是负值,例如:-2 表示 str.length + (-2) 即 str.length - 2
var str = '123456'
str.slice(1, 5) // '2345'
str.slice(1, -1) // '2345'
(6)split(separator, limit)
字符串分割成数组;separator为字符串或者正则表达式,表示按照一定的规则分割字符串;limt为整数,表示返回结果为限定元素个数的数组。
var str = 'ab'
str.split() // ['ab']
str.split('') // ['a', 'b']
var _str = 'ab cd'
str.split(' ') // ['ab', 'cd']
str.split(' ', 1) // ['ab']
(7)replace(rgExp/substr, replaceText)
替换字符串的特定字符串,返回替换后的字符串
var str = 'abcd abcd abcd'
str.replace('a', 'y') // "ybcd abcd abcd”,这种方式只能替换第一个匹配的
str.replace(/ab/g, 'y') // "ycd ycd ycd”,正则加上g,全局匹配
// 根据变量全局替换
var key = 'ab'
str.replace(new RegExp(key,'g'), 'y') // "ycd ycd ycd"
(8)includes(searchString, startIndex)
判断一个字符串是否包含另一个字符串,返回值为true 或 false;startIndex 可选,表示从 startIndex 开始搜寻;
注:IE不支持 includes,用 indexOf 实现该功能更好。
var str = '123456'
var res = str.includes('23') // true
var _res = str.includes('67') // false
(9)trim()
去掉字符串的两端空白字符,返回新的字符串
var str = ' abc '
str.trim() // "abc"
(10)toUpperCase() 与 toLowerCase()
toUpperCase():将字符串的所有字符转为大写,返回新的字符串
toLowerCase():将字符串的所有字符转为小写,返回新的字符串
(11)与数字相加减
字符串 + 数字:都转为字符串再连接;
字符串 - 数字:都转为数字再相减
var a = '111'
var b = a + 2 // 1112
var c = a - 2 // 109
(12)判断字符串是否为回文字符
回文字符:字符串翻转与原字符串一样,例如: aba 翻转后还是 aba
function fn (str) {
return str.split('').reverse().join('') === str
}
fn('abc') // false
fn('abba') // true
网友评论