前端js经典之字符串超全方法总结大全
作者:yqcoder
1. anchor 创建 a 标签字符串
anchor(name),name:a 标签的 name 属性
返回一个 a 标签字符串
let str = "yqcoder"; // 不传值 str.anchor(); // '<a name="undefined">yqcoder</a>' // 创建 name 属性为 web 的 a 标签字符串 str.anchor("web"); // '<a name="web">yqcoder</a>'
2. at 根据下标查找字符
at(index?),index:字符串下标,默认等于 0
返回下标所在字符串,如果没找到返回 undefined
let str = "yqcoder"; // 默认返回第 1 个字符 str.at(); // 'y' // 查找最后 1 个字符 str.at(-1); // 'r' // 没找到 str.at(100); // undefined
3. big 创建大号标签字符串
big(),返回大号标签字符串
let str = "yqcoder"; // 创建 str 大号标签字符串 str.big(); // '<big>yqcoder</big>'
4. blink 创建闪动标签字符串
blink(),返回闪动标签字符串
let str = "yqcoder"; // 创建 str 闪动标签字符串 str.big(); // '<blink>yqcoder</blink>'
5. bold 创建粗体标签字符串
bold(),返回粗体标签字符串
let str = "yqcoder"; // 创建 str 粗体标签字符串 str.bold(); // '<b>yqcoder</b>'
6. charAt 查找下标对应字符
charAt(index?),index:字符下标,默认为 0
查找到返回对应字符,如果没找到返回空 ""。
let str = "yqcoder"; // 默认返回第 1 位字符 str.charAt(); // y // 返回最后 1 位字符 str.charAt(str.length - 1); // r // 找不到 str.charAt(100); // ""
7. charCodeAt 查找下标对应字符的 Unicode 编码。
charCodeAt(index?),index:字符下标,默认为 0
查找到返回对应字符,如果没找到返回空 NAN。
let str = "yqcoder"; // 默认返回第 1 位字符 str.charCodeAt(); // 121 // 返回最后 1 位字符 str.charCodeAt(str.length - 1); // 114 // 找不到 str.charCodeAt(100); // NAN
8. codePointAt 查找下标对应字符的 Unicode 编码。
codePointAt(index?),index:字符下标,默认为 0
查找到返回对应字符,如果没找到返回空 undefined。
let str = "yqcoder"; // 默认返回第 1 位字符 str.codePointAt(); // 121 // 返回最后 1 位字符 str.codePointAt(str.length - 1); // 114 // 找不到 str.codePointAt(100); // undefined
9. concat 字符串拼接
concat(arg),arg 参数可以是字符串,数组,多层数组,多个数组。
返回拼接好的字符串
let str = "yqcoder"; // 拼接普通字符串 str.concat(" is coder"); // 'yqcoder is coder' // 拼接字符串数组 str.concat([" is coder", " is a man"]); // 'yqcoder is coder, is a man' // 拼接多层字符串数组 str.concat([" is coder", [" is a man", [" is a big"]]]); // 'yqcoder is coder, is a man, is a big' // 拼接多个数组字符串 str.concat([" is coder"], [" is a man"]); // 'yqcoder is coder is a man'
10. endsWith 判断字符串是否由特定字符结尾
endsWith(str, length?),str:特定字符,length:被用来判断的字符长度,从左到右的字符长度。
判断时区分大小写,符合返回 true,不符合返回 false
let str = "yqcoder"; // 判断是否coder结尾 str.endsWith("coder"); // true // 判断是否Coder结尾 str.endsWith("Coder"); // false // 判断前 6 个字符是否以 coder 结尾 str.endsWith("coder", 6); // false
11. fixed 创建<tt>标签字符串
fixed(),返回<tt>标签字符串
let str = "yqcoder"; // 创建 str <tt>标签字符串 str.fixed(); // '<tt>yqcoder</tt>'
12. fontcolor 创建 color 属性的 font 标签字符串
fontcolor(color),color:颜色
返回 color 属性的 font 标签字符串
let str = "yqcoder"; // 创建color为red的<font>标签字符串 str.fontcolor("red"); // '<font color="red">yqcoder</font>'
13. fontsize 创建 size 属性的 font 标签字符串
fontsize(size),size:字体大小
返回 size 属性的 font 标签字符串
let str = "yqcoder"; // 创建size为red的<font>标签字符串 str.fontsize(12); // '<font size="12">yqcoder</font>'
14. includes 判断是否包含特定字符串
includes(str, start?),str:特定字符串,start:开始下标
包含返回 true,不包含返回 false
let str = "yqcoder"; // 判断是否包含 'yq' 字符 str.includes("yq"); // true // 从下标 1 开始判断是否包含 'yq' str.includes("yq", 1); // false
16. indexOf 查找字符串下标
indexOf(str, start?),str:查找字符,start:开始下标,默认从 0 开始
查找到返回下标,如果没找到返回 -1。
let str = "yqcoder-yqcoder"; // 从下标 0 开始,查找 y 所在位置。 str.indexOf("y"); // 0 // 从下标 2 开始,查找 y 所在位置。 str.indexOf("y", 2); // 8
17. isWellFormed 判断字符串是否包含单独代理项
isWellFormed(),返回 boolean 值。
let str = "yqcoder"; let str1 = "yqcoder\uD800"; // 判断str是否包含单独代理项 str.isWellFormed(); // true // 判断str1是否包含单独代理项 str1.isWellFormed(); // false
18. italics 创建斜体标签字符串
italics(),返回斜体标签字符串
let str = "yqcoder"; // 创建斜体字符串 str.italics(); // '<i>yqcoder</i>'
19. lastIndexOf 从后往前查找字符串下标
lastIndexOf(str, start?),str:查找字符,start:开始下标,默认从 0 开始
查找到返回下标,如果没找到返回 -1。
let str = "yqcoder-yqcoder"; // 从最后 1 开始,查找 y 所在位置。 str.indexOf("y"); // 8 // 从下标 0 开始,查找 y 所在位置。 str.indexOf("y", 0); // 0
20. link 创建 a 标签字符串
link(url),url:a 标签的 href 属性
返回一个 a 标签字符串
let str = "yqcoder"; // 不传值 str.link(); // '<a href="undefined" rel="external nofollow" >yqcoder</a>' // 创建 href 属性为 www.baidu.com 的 a 标签字符串 str.link("www.baidu.com"); // '<a href="www.baidu.com" rel="external nofollow" >yqcoder</a>'
21. localeCompare 比较两个字符串大小
localeCompare(str),str:比较字符串
当大于比较字符串时返回 1,等于返回 0,小于返回 -1
let str = "a"; let str1 = "b"; // 比较 str,str1 大小 str.localeCompare(str1); // -1 // 自身比较 str.localeCompare(str); // 0 // 比较 str1,str 大小 str.localeCompare(str); // -1
22. match 根据传入正则匹配字符串
match(reg),reg:传入正则
字符串满足正则要求返回一个数组。没找到返回 null
let str = "yqcoder"; // 匹配正则 /coder/ 的字符串 str.match(/coder/); // ['coder', index: 2, input: 'yqcoder_yqcoder', groups: undefined] // 匹配正则 /coder/g 的字符串 str.match(/coder/g); // ['coder'] // 不匹配正则 str.match(/\d/g); // null
23. matchall 根据传入正则匹配字符串
matchall(reg),reg:正则表达式,必须带 g
调用方法的字符串必须通过 ... 才可调用,满足条件返回分组迭代器,不满足返回 undefined
let str = "yqcoder-yqcoder"; // 匹配正则 /coder/g 的字符串 console.log(...str.matchAll(/coder/g)); // ['coder', index: 2, input: 'yqcoder-yqcoder', groups: undefined] ['coder', index: 10, input: 'yqcoder-yqcoder', groups: undefined] // 不匹配正则 console.log(...str.matchAll(/\d/g)); // undefined
24. padEnd 尾部填充
padEnd(length, str?),length:填充长度,str:填充字符,默认为空
返回填充后的字符串,如果 length 小于原字符串长度,返回原字符串
let str = "yqcoder"; // 默认填充字符串长度到 10 str.padEnd(10); // 'yqcoder ' // 填充 1 直到字符长度到 10 str.padEnd(10, 1); // 'yqcoder111' // 填充 123 知道字符长度到 9 str.padEnd(9, 123); // 'yqcoder12' // 填充 1 直到字符长度到 1 str.padEnd(1, 1); // 'yqcoder'
25. padStart 头部填充
padStart(length, str?),length:填充长度,str:填充字符,默认为空
返回填充后的字符串,如果 length 小于原字符串长度,返回原字符串
let str = "yqcoder"; // 默认填充字符串长度到 10 str.padStart(10); // ' yqcoder' // 填充 1 直到字符长度到 10 str.padStart(10, 1); // '111yqcoder' // 填充 123 知道字符长度到 9 str.padStart(9, 123); // '12yqcoder' // 填充 1 直到字符长度到 1 str.padStart(1, 1); // 'yqcoder'
26. repeat 重复字符串
repeat(number), number:重复次数
返回重复后的字符串
let str = "yqcoder"; // 重复 1 次字符串 str.repeat(1); // 'yqcoder' // 重复 2 次字符串 str.repeat(2); // 'yqcoderyqcoder'
27. replace 替换字符串
replace(oldStr, newStr),oldStr:替换前字符串,newStr:替换后字符串
返回替换后的字符串
let str = "yqcoder-yqcoder"; // 将 yq 替换成 dyb str.replace("yq", "dyb"); // 'dybcoder-yqcoder' // 将所有 yq 替换成 dyb str.replace(/yq/g, "dyb"); // 'dybcoder-dybcoder'
28. replaceAll 替换所有满足条件字符串
replaceAll(oldStr, newStr),oldStr:替换前字符串,newStr:替换后字符串
返回替换后的字符串
let str = "yqcoder-yqcoder"; // 将 yq 替换成 dyb str.replaceAll("yq", "dyb"); // 'dybcoder-dybcoder'
29. search 查找字符串是否存在
search(str),str:目标字符串
如果查到返回目标字符串下标,如果没找到返回 -1
let str = "yqcoder"; // 查找 'yq' str.search("yq"); // 0 // 查找 'dyb' str.search("dyb"); // -1
30. slice 字符串截取
slice(start, end?),start:开始下标,end:结束下标
左闭右开,如果存在返回截取字段,不存在返回 ""
let str = "yqcoder"; // 截取字符串前 2 位 str.slice(0, 2); // 'yq' // 截取字符串最后 1 位 str.slice(-1); // 'r' // 截取字符串第 11 位 str.slice(10, 11); // ''
31. small 创建 small 标签字符串
small(),返回一个 small 标签字符串
let str = "yqcoder"; // 创建 small 标签字符串 str.small(); // '<small>yqcoder</small>'
32. split 字符串分割成数组
split(str?, length?),str:分割符,length:分割后数组长度
返回分割后的数组。
let str = "yqcoder-yqcoder"; // 不传参,字符串直接转数组 str.split(); // ['yqcoder-yqcoder'] // 将字符串以 "-" 分割成数组 str.split("-"); // ['yqcoder', 'yqcoder'] // 将字符串以 "-" 分割成数组,只要数组第一项 str.split("-", 1); // ['yqcoder']
33. startsWith 判断字符串是否由特定字符开始
startsWith(str),str:特定字符
判断时区分大小写,符合返回 true,不符合返回 false
let str = "yqcoder"; // 判断是否 yq 开始 str.startsWith("yq"); // true // 判断是否 Yq 开始 str.startsWith("Yq"); // false
34. strike 创建删除标签字符串
strike(),返回删除标签字符串
let str = "yqcoder"; // 创建删除标签字符串 str.strike(); // '<strike>yqcoder</strike>'
35. sub 创建下标标签字符串
sub(),返回下标标签字符串
let str = "yqcoder"; // 创建下标标签字符串 str.sub(); // '<sub>yqcoder</sub>
36. substr 字符串裁剪
substr(index, length?),index:开始下标,length:裁剪长度
返回裁剪后的字符串,包括 index 下标的字符。如果不传 length,默认裁剪从 index 到最后
let str = "yqcoder"; // 裁剪下标 2 开始的全部字符 str.substr(2); // 'coder' // 裁剪前 2 位字符 str.substr(0, 2); // 'yq'
37. substring 字符串裁剪
substring(start, end?),start:开始下标,end:结束下标
返回裁剪后的字符串,包括 start 下标的字符。不包括 end 结束下标字符。如果不传 end,默认裁剪到最后
let str = "yqcoder"; // 裁剪下标 2 开始的全部字符 str.substring(2); // 'coder' // 裁剪前 2 位字符 str.substring(0, 2); // 'yq' // 裁剪第 2 位 str.substring(1, 2); // 'q'
38. sup 创建上标标签字符串
sup(),返回上标标签字符串
let str = "yqcoder"; // 创建上标标签字符串 str.sup(); // '<sup>yqcoder</sup>'
39. toLocaleLowerCase 字母转小写
toLocaleLowerCase(),将所有大写字母转小写
let str = "YqCoder"; // 字母转小写 str.toLocaleLowerCase(); // 'yqcoder'
40. toLocaleUpperCase 字母转大写
toLocaleUpperCase(),将所有小写字母转大写
let str = "YqCoder"; // 字母转大写 str.toLocaleUpperCase(); // 'YQCODER'
41. toLowerCase 字母转小写
toLowerCase(),将所有大写字母转小写
let str = "YqCoder"; // 字母转小写 str.toLowerCase(); // 'yqcoder'
42. toUpperCase 字母转大写
toUpperCase(),将所有小写字母转大写
let str = "YqCoder"; // 字母转大写 str.toUpperCase(); // 'YQCODER'
43. toString 转字符串
toString(),各个数据类型通过 toString()方法转字符串
let arr = [1, [2, 3, [4, 5, 6, [7, 8, 9]]]]; let obj = { name: "yqcoder" }; let bl = true; let number = 123; // 数组转字符串,会将数组内数据平铺用, 拼接成字符串 arr.toString(); // '1,2,3,4,5,6,7,8,9' // 对象转字符串 obj.toString(); // '[object Object]' // 布尔值转字符串 bl.toString(); // 'true' // 数字转字符串 number.toString(); // '123'
44. toWellFormed 迭代字符串的码元
toWellFormed(),将任何单独的代理项替换为 Unicode 替换字符 U+FFFD �。
let str = "yqcoder"; let str1 = "yqcoder\uD800"; // 将 str 中的单独的代理项替换成 � str.toWellFormed(); // 'yqcoder' // 将 str1 中的单独的代理项替换成 � str1.toWellFormed(); // 'yqcoder�'
45. trim 去字符串头和尾的空格
trim(),返回去除头尾空格后的字符串,无法去除中间的空格。
let str = " yq coder "; // 将 str 去除头尾空格 str.trim(); // 'yq coder'
46. trimEnd、trimRight 去字符串尾部的空格
trimEnd()、trimRight() 返回去除尾部空格后的字符串。
let str = " yq coder "; // 将 str 去除头尾空格 str.trimEnd(); // ' yq coder' str.trimRight(); // ' yq coder'
47. trimStart、trimLeft 去字符串头部的空格
trimStart()、trimLeft() 返回去除头部空格后的字符串。
let str = " yq coder "; // 将 str 去除头尾空格 str.trimStart(); // 'yq coder ' str.trimLeft(); // 'yq coder '
总结
到此这篇关于前端js经典题之字符串超全方法的文章就介绍到这了,更多相关前端js字符串方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!