1.返回值为字符串
1.1 toString
//语法 返回指定对象的字符串形式
srt.toString()
-
返回 字符串
console.log([1,2,3].toString())//“1,2,3” let Num=123 console.log(Num.toString()) //"123"
1.2 valueOf
// 返回 string 对象的原始值
str.valueOf()
-
返回 string 对象的原始值
var x = new String('Hello world'); console.log(x.valueOf()); // Displays 'Hello world'
2.提取字符串
2.1 substring(提取)
//语法 beginIndex 截取字符的开始位置,endIndex 结束位置 左闭右开
str.substring(beginIndex,endIndex)
-
左闭右开 (左包括 右不包括)
-
返回 提取开始位置到结束位置的新字符串 (
原字符串不会改变_)
-
支持反序 不支持负数
var anyString = "Mozilla"; // 输出 "lla" console.log(anyString.substring(4,7)); console.log(anyString.substring(7,4)); // 输出 "" console.log(anyString.substring(4,4)); // 输出 "Mozill" console.log(anyString.substring(0,6));
2.2 slice(与数组方法相同)(提取)
//语法 beginIndex提取原字符的开始位置,endIndex结束位置 左闭右开[ ) |(左包括 右不包括)
str.slice(beginIndex,endIndex)
-
提取某个字符串的一部分,并返回一个新的字符串,(且
不会改动原字符串
)var str1 = 'The morning is upon us.', // str1 的长度 length 是 23。 str2 = str1.slice(1, 8), // 输出:he morn str5 = str1.slice(30); // 输出:"" str.slice(-3); // 返回 'us.' str.slice(-3, -1); // 返回 'us'
3.字符串转换成数组
3.1 split
//语法 separator 分隔符 limit 限定分割数量
str.split(separator,limit)
-
使用指定的分隔符将字符串分割成,子字符串数组
- 示例
const myString = 'this|is|a|Test'; const splits = myString.split(['|']); console.log(splits); //["this", "is", "a", "Test"]
- 限制返回值中分割元素数量
var myString = "Hello World. How are you doing?"; var spl = myString.split(" ", 3); //以空格分隔 console.log(splits); // ["Hello", "World.", "How"] var str="1234" var spl=str.split("")//以空串分隔 console.log()//["1","2","3","4"]
- 用split()来颠倒字符串顺序
const str = 'asdfghjkl'; let strReverse=str.split(" ").reverse().join(" ") concole.log(strReverse) // 'lkjhgfdsa'
4.拼接字符串
4.1 join(与数组相同)
//语法 separator:分隔符
str.join("separator")
-
以什么分隔符 拼接成字符串,并返回这个字符串
const elements = "FireAirWater" console.log(elements.join(,));//"Fire,Air,Water" console.log(elements.join('-'));//"Fire-Air-Water"
4.2 concat(与数组相同)
//语法 strN 需要连接的字符串
str.concat(str2, [, ...strN])
-
将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回
let str = 'Hello, ' console.log(str.concat('Kevin', '. Have a nice day.')) // Hello, Kevin. Have a nice day. let greetList = ['Hello', ' ', 'Venkat', '!'] "".concat(...greetList) // "Hello Venkat!"
5.查找字符或索引
5.1 charAt
//语法 index 访问字符串的索引
str.charAt(index)
-
从一个字符串中返回指定的
字符
var str="Brave new world" str.charAt(0) //"B" str.charAt(1) //"r"
5.2 indexOf(与数组相同)
//语法 searchValue:要被查找的字符串值 fromIndex:开始查找的位置 从左往右查找
str.indexOf(searchValue,fromIndex)
-
返回 第一次出现的指定值的
索引
,如果未能找到则返回-1
//indexOf区分大小写 var myString = "brie, pepper jack, cheddar"; var myCapString = "Brie, Pepper Jack, Cheddar"; console.log(myString.indexOf("cheddar"));// 19 console.log(myCapString.indexOf("cheddar"));// -1
5.3 lastIndexOf(与数组方法相同)
//语法 searchValue:要被查找的字符串值 fromIndex:开始查找的位置 从右往左查找 (该索引仍是以从左至右0开始记数的)
str.lastIndexOf(searchValue,fromIndex)
-
返回值第一次出现的索引(该索引仍是从右向左查找),如果没找到则
返回-1
//区分大小写 var str = 1,2,3,4; var last = str.lastIndexOf(2); // index is 3 index = str.lastIndexOf(7); // index is -1
5.4 includes(与数组方法相同)
//语法 valueToFind:要查找的元素值 fromIndex:从fromIndex 索引处开始查找
str.includes(valueToFind,fromIndex )
-
用来判定字符串中
是否包含
一个指定的值 ,如果包含则返回true ,否则返回false注意
使用includes()
比较字符串和字符时是区分大小写的。'Blue Whale'.includes('blue'); // returns false 'Blue Whale'.includes('Blue'); // returns false
5.5 startsWith
//语法 searchString 要搜索的子字符串 position 搜索的开始位置
str.startsWith(searchString,position)
-
在字符串中
开头
为指定字符 则返回true
否则返回false
-
区分大小写
var str = "To be, or not to be, that is the question."; alert(str.startsWith("To be")); // true alert(str.startsWith("not to be")); // false alert(str.startsWith("not to be", 10)); // true
5.6 endsWith
//语法 searchString 要搜索的子字符串。length 要搜索的长度
str.endsWith(searchString,length)
-
指定的子字符串在字符串的
末尾
。则返回true
否则返回的是false
-
此方法区分大小写、
var str = "To be, or not to be, that is the question."; alert( str.endsWith("question.") ); // true alert( str.endsWith("to be") ); // false alert( str.endsWith("to be", 19) ); // true
6.字符串模式匹配
6.1 match
//语法 regexp 一个正则表达式对象
//如果传入一个非正则表达式对象 regexp,则会使用 new RegExp(regexp) 隐式地将其转换为正则表达式对象。
str.match(regexp)
-
查找一个或多个正则表达式的匹配 返回匹配的结果 (数组)
注意 该方法返回符合匹配的值 存放在数组中,该方法依赖于regexp是否具有全局标志 g
var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; var regexp = /[A-E]/gi; var matches_array = str.match(regexp); console.log(matches_array); // ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
6.2 search
//语法 regexp 一个正则表达式对象
str.search(regexp)
-
返回在字符串匹配成功的首次匹配项的索引,匹配不成功则
返回 -1
var str = "hey JudE"; var re = /[A-Z]/g; var re2 = /[.]/g; console.log(str.search(re)); // 4 console.log(str.search(re2)); // -1
6.3 replace
// 语法 regexp|substr 正则或字符串。该正则所匹配的内容会被第二个参数所替换掉
// newSubStr|function 用于替换掉第一个参数的字符串或函数的返回值
str.replace(regexp|substr, newSubStr|function)
-
返回 一个部分或全部匹配 替换所取代的新字符串 (不会改变原字符串)
var str = 'Twas the night before Xmas...'; var newstr = str.replace(/xmas/i, 'Christmas');// i 大小写不敏感 g全局搜索 console.log(newstr); // Twas the night before Christmas...
6.4 test
// str 用来与正则表达式匹配的字符串 返回 true 否则 false
regexObj.test(str)
- 返回 true 否则是fasle
let str = 'hello world!';
let result = /^hello/.test(str);
console.log(result);// true
7.字符串大小写转换
7.1 toLowerCase
(如果调用该方法的值不是字符串类型会被强制转换)
//语法 (如果调用该方法的值不是字符串类型会被强制转换)。
str.toLowerCase()
-
调用该方法将字符串转换为小写形式
并不会影响原字符串
console.log('中文简体 zh-CN || zh-Hans'.toLowerCase()); // 中文简体 zh-cn || zh-hans •console.log( "ALPHABET".toLowerCase() );// "alphabet"
7.2 toUpperCase
(如果调用该方法的值不是字符串类型会被强制转换)
//语法
str.toUpperCase()
-
调用该方法将字符串转换为大写的字符串 返回一个新的字符串。并
不会影响
原字符串console.log('alphabet'.toUpperCase()); // 'ALPHABET'
8.移除字符串收尾空白符
8.1 trim
此方法不适用于 null undefined Number 类型
//语法
str.trim()
-
返回两头去掉空白符的字符串,并不影响原字符串本身
var orig = ' foo '; console.log(orig.trim()); // 'foo' // 另一个 .trim() 例子,只从一边删除 var orig = 'foo '; console.log(orig.trim()); // 'foo'
9.重复一个字符串
9.1 repeat
//语法 count 重复的次数
str.repeat(count)
-
返回 指定次数的新字符串副本
var orig = 'foo'; console.log(orig.repeat(2)); // 'foofoo'
10.字符串转为数字
10.1 parseInt
//语法 string 要解析的字符串 radinx 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间
parseInt(string,radinx)
-
从给定的字符串解析出一个整数
-
注意
parseInt
将BigInt
转换为Number
,并在这个过程中失去了精度。parseInt("10"); // 输出结果:10 //如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN: parseInt("50", 1) // 输出结果:NaN //只有字符串中的第一个数字会被返回,当遇到第一个不是数字的字符为止: parseInt("40 4years") // 输出结果:40 //如果字符串的第一个字符不能被转换为数字,就会返回 NaN: parseInt("new100") // 输出结果:NaN
10.2 parseFloat
//语法 string 需要被解析成为浮点数的值
parseFloat(string)