在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