JavaScript字符串对象的方法详解
前面的博客我们说到了字符串对象的创建,属性及字符串的拼接。现在来详细讲一下字符串的方法。
1.ES6之前的方法
// js字符串的方法varstr="hello"; varstr1="world"; // concat() 连接两个或更多字符串,并返回新的字符串。 拼接字符串console.log(str+str1); console.log(str.concat(str1)); console.log(str);//hello// indexOf() 返回某个指定的字符串值在字符串中首次出现的索引。不存在是返回 -1。console.log(str.indexOf("a"));// -1console.log(str.indexOf("l"));// 2console.log(str);//hello// lastIndexOf() 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。不存在是返回 -1。console.log(str.lastIndexOf("l"));// 3console.log(str);//hello// slice(起始的索引,结束的索引) 提取字符串的片断,并在新的字符串中返回被提取的部分。 留头不留尾console.log(str.slice(1,2));//econsole.log(str);//hello// valueOf() 返回某个字符串对象的原始值。console.log(str.valueOf());// hello// toString() 返回一个字符串。console.log([1,2,3].toString()); console.log("China".toString()); console.log({age:10}.toString()); // charAt(索引) 返回在指定位置的字符。console.log(str1.charAt(0)); varstr2="一丁二三四五六七八九十"; // charCodeAt() 返回在指定的位置的字符的 Unicode 编码。console.log(str2.charCodeAt(1)); // fromCharCode() 将 Unicode 编码转为字符。console.log(String.fromCharCode(19970)); // split(匹配条件) 把字符串分割为字符串数组。 字符串转换为数组console.log(str3.split("")); console.log(str3.split("a")); document.getElementById("btn").onclick=function(){ varval=document.getElementById("text").value; val=val.split("").reverse().join(""); document.getElementById("text").value=val; } // substr(起始的索引,长度) 从起始索引号提取字符串中指定数目的字符。console.log(str3.substr(1,5)); console.log(str3); // substring(起始的索引,结束的索引) 提取字符串中两个指定的索引号之间的字符。console.log(str3.substring(1,5)); console.log(str3); // toLowerCase() 把字符串转换为小写。console.log(str3.toLowerCase()); // toUpperCase() 把字符串转换为大写。console.log(str3.toUpperCase()); // toLocaleLowerCase() 根据本地主机的语言环境把字符串转换为小写。console.log(str3.toLocaleLowerCase()); // toLocaleUpperCase() 根据本地主机的语言环境把字符串转换为大写。console.log(str3.toLocaleUpperCase()); // trim() 去除字符串两边的空白console.log(" hello "); console.log(" hello ".trim());
2.用于正则表达式的方法
varstr3="aaBBccddefgaaaa"; // match() 查找找到一个或多个正则表达式的匹配。console.log(str3.match("a")); console.log(str3.match(/a/g)); // search() 查找与正则表达式相匹配的值。 第一次出现的索引console.log(str3.search(/b/g));//0// replace(被替换的字符,新的字符) 在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。console.log(str3.replace("a","A")); console.log(str3);//aabbccddefgaaaa// var reg=/A/g;console.log(str3.replace(/a/g,"A"));
3.ES6新增的方法
// includes() 查找字符串中是否包含指定的子字符串。console.log(str.includes("z"));//false// repeat() 复制字符串指定次数,并将它们连接在一起返回。console.log(str.repeat(30)); // startsWith() 查看字符串是否以指定的子字符串开头。console.log(str.startsWith("he"));//true