版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
字符串的常用方法
String() 普通函数 强制类型转换 把其他类型转化为字符串
var str = String(true);
console.log(str); // "true" "string"的true
toString() 把其他类型转化为字符串 // string,number,boolean,array,object 的共有 的拓展方法
var str = (1).toString();
var str = (true).toString();
var str = [1, 2, 3].toString();
console.log(str);
charAt(index) 取对应下标的字符
var str = "good good study , day day up";
var char = str.charAt(5);
console.log(char); // g
charCodeAt(index); 取对应下标的字符的 编码
var str = "good good study , day day up";
var codeNum = str.charCodeAt(5);
console.log(codeNum); // 103
String.fromCharCode(); 将 Unicode 编码转为一个字符(构造函数的静态方法 只有构造函数本身能够调用)
var char = String.fromCharCode(48);
console.log(char); // 0
var char = String.fromCharCode(65);
console.log(char); // A
var char = String.fromCharCode(97);
console.log(char); // a
数字 48-57(0-9)
大写字母 65-90(A-Z)
小写字母 97-122(a-z)
indexOf(item,startIndex) 查找字符串(单个字符/一段字符串)第一次出现的位置 存在 返回对应的下标 不存在返回-1
(如果传入的参数 是一段字符串 如果存在 返回该段字符串第一个字符的下标 不存在返回-1)
var str = "good good study , day day up";
var result = str.indexOf("g"); //0
var result = str.indexOf("f"); //-1
var result = str.indexOf("day"); //18
indexOf(item,startIndex)的拓展用法 可设置第二参数 规定 字符串查找的起始下标
var str = "good good study , day day up";
var result = str.indexOf("day", 19);
console.log(result); // 22 从下标19的位置开始查
lastIndexOf() 查找字符串(单个字符/一段字符串)最后一次出现的位置 从后向前查
var str = new String("good good study , day day up");
var result = str.lastIndexOf("d"); //22
//拓展用法 可设置第二参数 规定 字符串查找的起始下标 从后向前查
var result = str.lastIndexOf("d", 21);
console.log(result); // 18
search() 查找字符串(单个字符/一段字符串/符合正则表达式规则的字符串)第一次出现的位置,不存在返回-1
常规用法 类似indexOf()
var str = new String("good good study , day day up");
var result = str.search("day"); // 18
var result = str.search("dAy"); // -1
console.log(result);
配合正则表达式使用
var str = new String("good good study , day day up");
console.log(str);
查找 符合正则表达式规则的字符串 第一次出现的位置
var reg = /dAY/i; // i 是正则表达式中的修饰符 (搜索不区分大小写)。
var result = str.search(reg); // 18
console.log(result);
match 将符合要求的字符串 放到一个数组中
常规用法 将符合要求的字符串 放到一个数组中 (只匹配一个)
var str = new String("good good study , day day up");
var result = str.match("day");
console.log(result); // ["day", index: 18, input: "good good study , day day up", groups: undefined]
配合正则表达式使用
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
注意:
match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
var str = new String("good good study , Day dAy up");
var reg = /day/ig;
var result = str.match(reg);
console.log(result); // [day,day]
replace(oldStr,newStr) 常规用法 用新的字符串 替换原来的字符串 默认只替换一个
var str = new String("good good study , day day up");
var result = str.replace("day", "money");
console.log(result);
配合正则表达式使用 用新的字符串 替换符合 正则表达式规则的字符串 默认只替换一个(但是如果正则表达式有修饰符g则全局匹配)
var str = new String("good good study , dAy day up");
var reg = /day/ig; //执行一次全局不分大小写的匹配
var result = str.replace(reg, "money");
console.log(result); // good good study , moneymoneyup
slice(startIndex,endIndex); [startIndex,endIndex) 字符串的裁切/截取 (能取到开头取不到结尾)
var str = new String("good good study , day day up");
var str = str.slice(18, 25); // "day day"
//var str = str.slice(18, -3); // "day day"
substring(startIndex,endIndex); 字符串的裁切/截取 用法类似 slice(能取到开头取不到结尾)
var str = new String("good good study , day day up");
var str = str.substring(18, 25); // "day day"
substr(startIndex,length); 从下标为startIndex的位置开始 截取长度为 length的字符串
var str = new String("good good study , day day up");
var str = str.substr(18, 7); // "day day"
split 字符串的分割 (字符串转数组)
var list = ["a", "b", "c"];
var str = list.join("*");
console.log(str); // a*b*c
var arr = str.split("*");
console.log(arr); // ["a", "b", "c"]
var str = new String("good good study , day day up");
var arr = str.split(" ");
console.log(arr); // ["good", "good", "study", ",", "day", "day", "up"]
trim()去除首尾空格
trimLeft()去除头部空格
trimRight()去除尾部空格
var str = new String(" good good study , day day up ");
var result = str.trim(); // "good good study , day day up"
var result = str.trimLeft(); // "good good study , day day up "
var result = str.trimRight(); // " good good study , day day up"
console.log(str); // " good good study , day day up "
toUpperCase() 转化为大写
toLowerCase() 转化为小写
var str = new String("GooD goOd Study , dAy day uP,123123今天星期五!@#¥%……&* ");
var result = str.toUpperCase(); // "GOOD GOOD STUDY , DAY DAY UP,123123今天星期五!@#¥%……&* "
var result = str.toLowerCase(); // "good good study , day day up,123123今天星期五!@#¥%……&* "