字符串的常用方法

在js中所有用单引号或者双引号包起来的字符叫做字符串,每个字符串是由零到多个字符组成的

每个字符都有自己应用的索引,也有类似数组一样的length代表的长度

var str='abcdefg';
str.length; //字符串的长度
str[0];//a
str[str.length-1];//g
str[100];//undefined

常用的方法:

字符串是基本数据类型,每一次操作都是值直接操作,不像数组一样是基于空间操作的,所以不存在原有字符串是否改变的一说,肯定是不变

charAt / charCodeAt / String.fromCharCode

作用:charAt 根据索引获取指定位置的字符 ;

charCodeAt不仅仅获取字符,获取的是字符对用的Unicode编码值(ASC II码值)[10进制]

String.fromCharCode返回的是编码对应的字符

参数:索引

返回值:字符或者对应的编码

var str='abcdef';

str.charAt(0);//a

str.charCodeAt(0);// 97

String.fromCharCode(97);//'a'

indexOf / lastIndexOf 

基于这两个方法,可以获取字符在字符串中第一次 / 最后一次出现的位置索引,找到返回位置索引,找不到返回-1,可以基于这两个方法,验证当前字符串中是否包含某个字符串

var str='41234';

if(str.indexOf('@')>-1){
   //条件成立说明包含@
}

slice:查找

str.slice(n,m); 从索引n查找索引m处,不包含m,把找到的字符当做新字符返回

str.slice(n); 从索引n处找到末尾

str.slice(); 浅克隆字符串

str.slice(-3,-1); 从倒数3个开始查找到倒数第1个

substring :查找,与slice一样,区别是substring不支持负数

substr:截取字符串

str.substr(n,m):从索引n开始截取m个字符
str.substr(n):从索引n开始截取到末尾
str.substr(-2,3):从倒数-2的索引截取3个

toUpperCase / toLowerCase 

实现字母大小写转换

toUpperCase:小写转大写

toLowerCase:大写转小写

split:和数组中的join相对应,join是把字符串按照指定的分隔符变为字符串,split是把字符串按照指定分隔符,拆分成数组中的每一项

var str='1+4+7+8';
str.split('+'); //['1','4','7','8']

replace:

作用:替换字符串中的原有字符

参数:原有字符,要替换的新字符

返回值:替换后的字符串

//一般配合正则使用

var str = 'zhongguo2019zz2019';

  str = str.replace('2019','good'); //zhongguogoodzz2019 不配合正则只能替换一个符合条件的字符

str=str.replace(/2019/g,'good'); //zhongguogoodzzgood

.......

 思考:将字符串“2019-8-29 21:04:0”获取到08月29日 21时04分

 var str='2019-8-29 21:8:0';
 var k=str.split(' '),
   l=k[0].split('-'),
   r=k[1].split(':'); //str.solit(/?:-| |:/g);一个正则搞定拆分
   function zero(x){
       return x<10?x='0'+x:x;
   }
  var m=zero(l[1]),
    d=zero(l[2]);
    h=zero(r[0]),
    s=zero(r[1]);
  var r=m+'月'+d+'日'+' '+h+'时'+s+'分';
  console.log(r);//08月29日 21时08分

当然这样做很low啊,有高级点的写法:转换时间格式的方法

原文地址:https://www.cnblogs.com/xinxinxiangrong7/p/11431982.html