常用的js字符串函数集合
一、其他数据类型转换为字符串类型
(1).最直接的 给数据加引号(任何数据类型加上引号都变成字符串)
var num = 24;
var str = "24";
console.log(str); // 返回值为: 24
console.log(typeof(num)); // 返回值为:number typeof() 判断类型
console.log(typeof(str)); // 返回值为:string typeof() 判断类型
(2-1).toString()
var num = 24;
var str = num.toString();
console.log(str); // 返回值为: 24
console.log(typeof(str)); // 返回值为:string typeof() 判断类型
(2-2).String()
var num = 24;
var str = String(num);
console.log(str); // 返回值为: 24
console.log(typeof(str)); // 返回值为:string typeof() 判断类型
(3).join() 方法 把数组中的所有元素放入一个字符串
var arr = ["abc","def","ghi!"];
var str = arr.join(''); // ' ' 中加间隔符 为空默认不加
console.log(str); // 返回值为:abcdefghi
console.log(typeof(str)); // 返回值为:string typeof() 判断类型
二、split() 字符串分割
(1).将字符串按要求拆分以数组的形式返回
var str = "abcd,efgh,ijkl";
var arr1 = str.split(","); // 以“,”为界分割字符串
var arr2 = str.split(",",2); // 第二个参数,表示返回的字符串数组的最大长度
console.log(arr1); // 返回值为:["abcd", "efgh", "ijkl"]
console.log(arr2); // 返回值为:["abcd", "efgh"]
(2).将字符串逐个拆分以数组的形式返回
var str = "abcd,efgh,ijkl";
var arr1 = str.split("");
var arr2 = str.split("",8); // 第二个参数,表示返回的字符串数组的最大长度
console.log(arr1); // 返回值为:["a", "b", "c", "d", ",", "e", "f", "g", "h", ",", "i", "j", "k", "l"]
console.log(arr2); // 返回值为: ["a", "b", "c", "d", ",", "e", "f", "g"]
三、replace() 字符串替换
var str = "abcd,efgh,ijkl,efghwxyz";
var replaceStr1 = str.replace("efgh"," "); //第二个参数为空是默认删除
var replaceStr2 = str.replace(/efgh/,"aaaa"); //第二个参数不为空时,替换对应字符串,默认只进行第一次匹配操作的替换
var replaceStr3 = str.replace(/efgh/g,"aaaa"); //默认只进行第一次匹配操作的替换,想要全局替换,需要加上正则全局标识 g
console.log(replaceStr1); // 返回值为:abcd, ,ijkl,efghwxyz
console.log(replaceStr2); // 返回值为:abcd,aaaa,ijkl,efghwxyz
console.log(replaceStr3); // 返回值为:abcd,aaaa,ijkl,aaaawxyz
四、获取字符串长度
var str = "abcd,efgh,ijkl,efghwxyz";
var strLength = str.length;
console.log(strLength); // 返回值为:23
五、indexOf() / lastIndexOf()查询子字符串(判断字符串内是否包含子串)
(1).indexOf() 正向查找 该方法对大小写敏感,返回字符串中一个子元素第一次出现的下标值(从左到右搜索),如果没有匹配项,返回 -1
var str="Hello world!";
var index0 = str.indexOf("llo");
var index1 = str.indexOf("l");
var index2 = str.indexOf("o",3); // 第二个参数为开始查询的位置下标
var index3 = str.indexOf("a");
console.log(index0); // 返回值为:2 返回字符串中一个子元素第一次出现的下标值(从左到右搜索)
console.log(index1); // 返回值为:2 返回字符串中一个子元素第一次出现的下标值(从左到右搜索)
console.log(index2); // 返回值为:4 返回字符串中一个子元素第一次出现的下标值(从左到右搜索)
console.log(index3); // 返回值为:-1 没有匹配项,返回 -1
(2).lastIndexOf() 反向查找 该方法对大小写敏感。返回字符串中一个子元素第一次出现的下标值(从右到左搜索),如果没有匹配项,返回 -1
var str = "Hello world!";
var index0 = str.lastIndexOf("lo");
var index1 = str.lastIndexOf("l");
var index2 = str.lastIndexOf("o",5); // 第二个参数为开始查询的位置下标
var index3 = str.lastIndexOf("a");
console.log(index0); //返回值为:3
console.log(index1); //返回值为:9
console.log(index2); //返回值为:4
console.log(index3); //返回值为:-1 没有匹配项,返回 -1
六、字符串匹配
//(1).match() 使用字符串直接进行匹配,被匹配的字符串内包含要匹配的字符串时,返回所要匹配的字符串 没有返回 null
var str = "abcd,efgh,ijkl,efghwxyz!";
var matchStr0 = str.match("ij");
var matchStr1 = str.match("pp");
console.log(matchStr0); // 返回值为:ij
console.log(matchStr1); // 返回值为:null
(2).search() 进行正则匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1
var str = "abcd,efgh,ijkl,efghwxyz!";
var regexp0 = /ghw/;
var regexp1 = /jqk/;
var matchStr0 = str.search(regexp0);
var matchStr1 = str.search(regexp1);
console.log(matchStr0); //返回值为: 17
console.log(matchStr1); //返回值为: -1
七、字符串连接
//(1).普通方法
var str1 = "Hello";
var str2 = "world!";
var newStr = str1+" "+str2;
console,log(newStr) //返回值为:Hello world!
(2).concat() 方法
var str1 = "Hello";
var str2 = " world,";
var newStr = str1.concat(str2);
console,log(newStr) //返回值为:Hello world!
八、字符串切割和提取
(1).slice() (不包括截取点)
var str = "hello world!";
var sliceStr1 = str.slice(-3); //一个参数时 默认截取全部 负数时为倒序截取 正序输出
var sliceStr2 = str.slice(-3,-1); //两个参数时 第一个为截取起点,第二个为截取终点
var sliceStr3 = str.slice(3); //一个参数时 默认截取全部 正数是为正序截取 正序输出
var sliceStr4 = str.slice(3,7); //两个参数时 第一个为截取起点,第二个为截取终点
console.log(sliceStr1); //返回值为: ld!
console.log(sliceStr2); //返回值为: ld
console.log(sliceStr3); //返回值为: lo world!
console.log(sliceStr4); //返回值为: lo w
(2).substr() (包括截取点)
var str = "hello world!";
var substrStr1 = str.substr(3); //一个参数时 默认截取全部
var substrStr2 = str.substr(3,7); //第二个参数为截取的个数
console.log(substrStr1); //返回值为: lo world!
console.log(substrStr2); //返回值为: lo worl
(3).substrsubstring (包括截取点)
var str = "hello world!";
var substringStr1 = str.substring(3); //一个参数时 默认截取全部
var substringStr2 = str.substring(3,7); //两个参数为截取起点和终点位置
console.log(substringStr1); //返回值为: lo world!
console.log(substringStr2); //返回值为: lo w
九、字符串大小写转换
(1).toLowerCase() 大写变小写
var str = "Hello World!";
var lowCaseStr = str.toLowerCase();
console.log(lowCaseStr); //返回值为: hello world!
(2).toUpperCase() 小写变大写
var str = "Hello World!";
var upCaseStr = str.toUpperCase();
console.log(upCaseStr); //返回值为: HELLO WORLD!
十、trim() 字符串去空格
var str = " hello world ";
var trimStr = str.trim(); // 默认去掉全部空格
console.log(trimStr) // 返回值为:hello world
十一、charAt() 返回指定位置的字符
var str = "abcdefg";
var char = str.charAt(4);
console.log(char); // 返回值为: e
十二、charCodeAt() 获取指定字符的字符编码值 (ASCII码)
var str = "abcdefg";
var char = str.charCodeAt(4);
console.log(char); // 返回值为:101
网友评论