字符串常用方法总结
一 charAt()
查找返回指定位置的字符 参数charAt(index索引)
var str = "abcdefg";
var s = str.charAt(5); // 下标为5的字符
console.log(s);//f
二 charcodeAt()
查找返回指定位置字符的unicdoe码 参数charcodeAt(index索引)
var str = "abcdefg";
var s = str.charCodeAt(5); // 下标为5的字符的unicdoe码
console.log(s);//102
三 concat()
连接字符串连接两个或多个字符串,不改变现有字符串,返回拼接后的新字符串 参数:concat(字符串1,字符串2,…,字符串n)
var str='abc';
var str1='yyyyy'
var newStr=str.concat(str1,"12","345");
console.log(newStr);//abcyyyyy12345
四 slice(start,[end])
字符串截取提取字符串的某个部分,返回一个新的字符串,从start开始到end结束,不包含end
var str='abdcdfq';
var str1=str.slice(1,4);
console.log(str1);//bdc
五 split(delinmiter,[limit])
将字符串转化为数组,返回一个字符串数组,limit参数可选,允许指定要返回的最大数组的元素个数
//无limit
var str='abcdefg';
var str1=str.split("");
console.log(str);//abcdefg
console.log(str1);//["a", "b", "c", "d", "e", "f", "g"]
//有limit 返回数组的长度===limit指定的值
var str='abcdefg';
var str1=str.split("",3);
console.log(str);//abcdefg
console.log(str1);//["a", "b", "c"]
六 substring(start,[end])
截取字符串 end可选参数
//无end参数 返回从start位置开始到字符串结束的字串
var str='abcdefge';
var str1=str.substring(4);
console.log(str1);//efge
//有end参数 substring(start,end)
//返回从start到end位置的字串,不包含end
var ss='goodcyy'.substring(4,6);
console.log(ss);//cy
七 substr(start,[length])
截取字符串 length可选参数
//无length参数 返回从start位置开始到字符串结束的字串
var str='abcdefge';
var str1=str.substr(4);
console.log(str1);//efge
//有length参数 返回从start位置开始length长度的子串
var ss='goodcyy'.substr(1,6);//从下标1开始数6个数
console.log(ss);//oodcyy
//注:当length为0或者负数,返回空字符串
注意点:
(1)substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点
(2)start 或 end 为 NaN 或者负数,那么将其替换为0
八 indexOf(substr,[start])
indexof方法搜索并返回字符串中搜索到的字符或子字符串的索引,如果没有找到则返回-1。 start可选参数,指定字符串开始搜索的位置,默认0
var str='abcfsdtgdkabc';
var s1=str.indexOf('abc');
var s2=str.indexOf('abc',1);
console.log(s1);//0
console.log(s2);//10
九 lastIndexOf(substr,[start])
lastIndexOf()方法返回指定文本在字符串中最后一次出现的索引,未找到返回-1。 start可选参数,指定开始索引的位置,默认是string.length-1。
var str='abcfsdtgdkabc';
var s1=str.lastIndexOf('abc');
var s2=str.lastIndexOf('abc',1);
console.log(s1);//10
console.log(s2);//0
十 toUpperCase
转大写
var str='afqcDFFqe';
console.log(str.toUpperCase());//AFQCDFFQE
十一 toLowerCase
转小写
var str='afqcDFFqe';
console.log(str.toLowerCase());//afqcdffqe
十二 repalce( regexp/substr, replacetext)
替换字符串或者替换一个与 正则表达式 匹配的字串,只能匹配一次
var str='每天都要天天开心';
var str1=str.replace('天天','very');
console.log(str1);//每天都要very开心
十三 match( regexp)
查找字符串,根据正则表达式在字符串中搜索匹配项,如果没有找到匹配项,则返回一个信息数组或null
var str = "今天天气好好";
var result = str.match("天天");
console.log(result);//["天天", index: 1, input: "今天天气好好", groups: undefined]
十四 search(regexp)
查找字符串返回下标,或查找与正则表达式匹配的字符串,没有找到返回-1
var str = "今天天气天天好好";
var result = str.search("天天");
console.log(result);//1
十五 startsWith()
判定一个字符串是否以另一个字符串开头
var str = "hello world";
var result = str.startsWith("he");
console.log(result)//true
//当为两个参数时,第二个表示开始位数。
var result = str.startsWith("he",1);
console.log(result)//flase
十六 endsWith()
判定一个字符串是否以另一个字符串结尾,返回true/false
var str = "hello world";
//检测尾部
var result = str.endsWith("world");
console.log(result);//true
//检测指定位置是否以指定字符结尾
var result1 = str.endsWith("wo", 8);
console.log(result1)//true
十七 includes()
检测是否包含指定字符串,返回true/false
var str = "hello world";
var result = str.includes("o");
console.log(result);//true
var result1 = str.includes("o", 8);
console.log(result1);//false
十八contains()
js中的contains方法不能判断字符串是否包含中文**,只能判断英文,如果需要判断是否包含中文,只能用**indexOf方法!!!
十八 repeat()
重复字符串,返回新的字符串
var str='cyy';
var str1=str.repeat(3);
console.log(str1);//cyycyycyy
十九 valueOf()
等同于String.prototype.toString(), 返回一个string对象的原始值
var str='cyyy';
var str1=str.valueOf(str);
console.log(str1);//cyyy
二十 trim()
删除字符串两端的空白
var str=' 12e612 ';
console.log(str.trim());//12e612