js字符串方法

197 阅读2分钟

indexOf/lastIndexOf 基于这两个方法。可以获取第一次或者最后一次出现位置索引,有这个字符,返回大于0的索引,不包含这个字符,返回结果是-1 基于这两个,验证字符串中是否包含某个字符

var str='zhufengpeixun';
if(str.indexOf('*')>-1){
   //条件成立说明包含*符号
}

slice 作用:str . slice( n , m) 从索引n开始找到索引为m处(不包含m),把找到的字符当做新字符串返回

var str='zhufengpeixun';
str.slice(2,3)
"u"
str.slice(2,7)
"ufeng"
str.slice(2)
"ufengpeixun"
str.slice()
"zhufengpeixun"
str.slice(-3,-1)  //-3代表从字符串末尾开始,向前3位,-3+(-1)=-2,-2代表取2位,从-3位开始向后取2"xu"
//和数组中的slice操作是一样的
  1.不写m是查找到字符串的末尾
  2.n/m都不写是字符串的克隆
  3.支持负数索引:用字符串的总长度+负数索引运算

substring 和slice语法一摸一样 唯一的区别是:slice支持负数索引,而substring不支持负数索引

substr 也是字符串截取方法,用法是:str.substr(n,m), 从索引n开始截取m个字符

toUpperCase/toLowerCase 实现大小写字母的转换,toUpperCase小写转大写,toLowerCase大写转换小写 

splite 和数组中的join相对应,数组中的join是把数组中一项按照指定的连接字符串,而split是把字符串按照指定的分割符,拆分成数组中的每一项

replace 作用:替换字符串中原有字符 参数:原有字符,要替换新字符 返回:替换后的字符串

 //=>把“qianduan”换“前端”
var str = 'qianduan2019qianduan2020';
str = str.replace('qianduan','前端')
=>"前端2019qianduan2020"  
//=>在不使用正则的情况下,只能替换一个
str = str.replace('qianduan','前端')
"前端2019前端2020"

//=========正则方法一次性替换
var str = 'qianduan2019qianduan2020';
str = str.replace(/qianduan/g,'前端')
=>"前端2019前端2020"