28个JavaScript常用字符串方法以及使用技巧总结

28个JavaScript常用字符串方法以及使用技巧总结

1. 字符串长度

通过 length 属性可以获取字符串的长度。

const str = 'Hello World';
console.log(str.length); // 11

2. 字符串截取

常见的字符串截取方式为 substringslice,两者用法类似,都是根据起始位置和结束位置截取字符串,区别在于当起始位置大于结束位置时,substring 方法会自动调换这两个参数,而 slice 方法则返回空字符串。

const str = 'Hello World';
console.log(str.substring(0, 5)); // "Hello"
console.log(str.slice(0, 5)); // "Hello"
console.log(str.substring(5, 0)); // "Hello"
console.log(str.slice(5, 0)); // ""

3. 字符串分割

可以通过 split 方法根据指定的分隔符将字符串分割成数组。

const str = 'item1,item2,item3';
console.log(str.split(',')); // ["item1", "item2", "item3"]

4. 字符串替换

可以通过 replace 方法将指定字符替换为其他字符。

const str = 'Hello World';
console.log(str.replace('World', 'JavaScript')); // "Hello JavaScript"

5. 字符串大小写转换

可以通过 toUpperCasetoLowerCase 方法将字符串分别转换成大写和小写。

const str = 'Hello World';
console.log(str.toUpperCase()); // "HELLO WORLD"
console.log(str.toLowerCase()); // "hello world"

6. 字符串去空格

可以通过 trim 方法去除字符串两端的空格。此外,也可以使用 trimStarttrimEnd 分别去除字符串开头和结尾的空格。

const str = ' Hello World   ';
console.log(str.trim()); // "Hello World"
console.log(str.trimStart()); // "Hello World   "
console.log(str.trimEnd()); // " Hello World"

7. 匹配字符串开头和结尾

可以使用 startsWithendsWith 方法判断字符串是否以指定的字符开头或结尾。

const str = 'Hello World';
console.log(str.startsWith('Hello')); // true
console.log(str.endsWith('World')); // true

8. 子字符串位置查找

可以使用 indexOflastIndexOf 方法查找一个子字符串在字符串中第一次出现和最后一次出现的位置。

const str = 'Hello World';
console.log(str.indexOf('o')); // 4
console.log(str.lastIndexOf('o')); // 7

9. 字符串是否包含指定字符

可以使用 includes 方法判断一个字符串是否包含指定的字符。

const str = 'Hello World';
console.log(str.includes('World')); // true

10. 使用正则表达式查找匹配

可以使用 search 方法和正则表达式来查找匹配的位置。

const str = 'Hello World';
console.log(str.search(/o/)); // 4

11. 字符串重复

可以使用 repeat 方法将一个字符串重复多次。

const str = 'Hello';
console.log(str.repeat(3)); // "HelloHelloHello"

12. 字符串拼接

可以使用 concat 方法将多个字符串拼接在一起。

const str1 = 'Hello';
const str2 = 'World';
console.log(str1.concat(' ', str2)); // "Hello World"

13. 原始值与字符串转换

可以使用 toString 方法将原始值转换成字符串。

const num = 123;
console.log(num.toString()); // "123"

14. ASCII码与字符转换

可以使用 charCodeAt 方法将一个字符转换成 ASCII 码,也可以使用 fromCharCode 方法将 ASCII 码转换成字符。

const str = 'A';
console.log(str.charCodeAt(0)); // 65
console.log(String.fromCharCode(65)); // "A"

15. 字符串模板

可以使用模板字符串的方式来拼接字符串,使用 ${} 包含变量。

const str = 'JavaScript';
console.log(`Hello ${str}`); // "Hello JavaScript"

16. 重复字符串占位符

可以使用 padStartpadEnd 方法来给字符串添加前缀或后缀使其固定长度,如果指定的长度小于当前字符串的长度,则不做任何操作。

const str = 'Hello';
console.log(str.padStart(8, '*')); // "***Hello"
console.log(str.padEnd(8, '*')); // "Hello***"

17. 根据函数返回值替换字符串

可以使用 replace 方法的第二个参数为函数的方式,根据函数的返回值替换字符串中的内容。

const str = 'abc1def2gh3ij4kl';
const result = str.replace(/\d+/g, function(match) {
  return parseInt(match) + 1;
});
console.log(result); // "abc2def3gh4ij5kl"

18. 字符串的字节长度

可以使用 encodeURI 方法对字符串进行编码,并获取其字节长度。

const str = '你好,世界';
console.log(encodeURI(str).replace(/%../g, 'x').length); // 10

19. URL编码与解码

可以使用 encodeURIComponentdecodeURIComponent 方法来对URL进行编码和解码操作。

const url = 'http://www.example.com?name=张三&age=20';
const encodedUrl = encodeURIComponent(url);
console.log(encodedUrl); // "http%3A%2F%2Fwww.example.com%3Fname%3D%25E5%25BC%25A0%25E4%25B8%2589%26age%3D20"
const decodedUrl = decodeURIComponent(encodedUrl);
console.log(decodedUrl); // "http://www.example.com?name=张三&age=20"

20. 字符串转换为数组

可以使用 Array.from 方法将一个字符串转换成数组。

const str = 'Hello World';
console.log(Array.from(str)); // ["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]

21. 使用字符串遍历器

可以使用 for...of 循环遍历一个字符串。

const str = 'Hello World';
for (let s of str) {
  console.log(s);
}

22. 字符串的解构赋值

可以使用解构赋值的方式快速将字符串转换成数组。

const [a, b, c] = 'abc';
console.log(a); // "a"
console.log(b); // "b"
console.log(c); // "c"

23. 多个分隔符分割字符串

可以使用正则表达式和 split 方法来实现多个分隔符分割字符串。

const str = 'item1,item2;item3 item4';
console.log(str.split(/,|;|\s+/)); // ["item1", "item2", "item3", "item4"]

24. 缓存字符串变量

可以使用模板字符串的方式缓存字符串变量,避免多次连接字符串。

const str1 = 'Hello';
const str2 = 'World';
const cachedStrs = `str1 is ${str1}, and str2 is ${str2}`;
console.log(cachedStrs); // "str1 is Hello, and str2 is World"

25. 字符串数组排序

可以使用 localeCompare 方法对数组中的字符串进行排序。

const arr = ['Tom', 'Andy', '张三', '李四'];
arr.sort(function(a, b) {
  return a.localeCompare(b, 'zh');
});
console.log(arr); // ["Andy", "Tom", "李四", "张三"]

26. 多行字符串

可以使用模板字符串的方式实现多行字符串,也可以使用 \ 换行符实现多行字符串。

const str1 = `Hello
            World`;
console.log(str1); // "Hello
                  // World"
const str2 = 'Hello\nWorld';
console.log(str2); // "Hello
                  // World"

27. 十六进制转换为字符串

可以使用 String.fromCharCode 方法将十六进制转换为字符串。

const hexStr = '48656c6c6f20576f726c64';
const charCodeArr = [];
for (let i = 0; i < hexStr.length; i += 2) {
  charCodeArr.push(parseInt(hexStr.slice(i, i + 2), 16));
}
const str = String.fromCharCode(...charCodeArr);
console.log(str); // "Hello World"

28. 字符串大小写互换

可以使用 toUpperCasetoLowerCase 方法配合运算符 ^ 互换大小写。

const str = 'Hello World';
const convertedStr = str.replace(/[a-z]/gi, function(s) {
  return s === s.toUpperCase() ? s.toLowerCase() : s.toUpperCase();
});
console.log(convertedStr); // "hELLO wORLD"

示例1:将一个字符串中的所有数字加1。

const str = 'abc1def2gh3ij4kl';
const result = str.replace(/\d+/g, function(match) {
  return parseInt(match) + 1;
});
console.log(result); // "abc2def3gh4ij5kl"

示例2:将一个字符串中的所有空格去除,并将英文单词首字母大写。

const str = '    hello     world   ';
const result = str.trim().replace(/\b\w+\b/g, function(s) {
  return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
});
console.log(result); // "Hello World"

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:28个JavaScript常用字符串方法以及使用技巧总结 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • JS异步编程之generator与async/await语法糖详解

    JS异步编程之generator与async/await语法糖详解 什么是异步编程? 通俗地讲,异步编程是指不需要等待上一个代码块执行完毕,就可以开始执行下一个代码块的编程方式。在JavaScript中,异步编程是常见的编程方式,它主要使用回调函数、Promise、Generator和async/await等语法来实现。其中,Generator和async/…

    JavaScript 2023年5月28日
    00
  • .NET使用js制作百度搜索下拉提示效果(不是局部刷新)实现思路

    下面是详细的“.NET使用js制作百度搜索下拉提示效果(不是局部刷新)实现思路”的攻略: 思路概述 将百度搜索框封装入input标签内,并加上id=”searchInput”属性,这样方便后续的DOM操作。 使用JavaScript监听输入框内容(keyup事件),当用户输入触发事件后,发送AJAX请求给百度服务器,获取搜索结果。 接收到结果后,将结果显示到…

    JavaScript 2023年6月11日
    00
  • php 正确解码javascript中通过escape编码后的字符

    当我们在 JavaScript 中使用 escape() 方法对字符串进行编码后,该字符串会转换为一系列 URL 安全字符编码。而在 PHP 中,我们需要将这些 URL 安全字符编码解码为原始字符。本文将详细讲解如何正确解码 JavaScript 中通过 escape 编码后的字符。 使用 PHP 的 urldecode() 方法解码 PHP 有一个内置的 …

    JavaScript 2023年5月19日
    00
  • javascript asp教程错误处理

    接下来我将会给出一个完整的JavaScript ASP教程错误处理攻略,包含代码示例。 JavaScript ASP教程错误处理攻略 什么是错误处理? 在ASP中,错误处理是用于捕获和解决在代码运行时发生的错误和异常的技术。当您的代码出现错误时,错误处理将停止代码的执行, 并提供一些信息,比如错误类型、行号、错误描述等等,以方便调试和修复页面。 如何进行错误…

    JavaScript 2023年6月10日
    00
  • JavaScript动态创建二维数组的方法示例

    下面是”JavaScript动态创建二维数组的方法示例”的完整攻略。 1. 什么是二维数组 二维数组是由多个一维数组组成的数组,每个一维数组可以当成是一个表格中的一行,多个一维数组就可以组成一个表格。 2. 创建二维数组 创建二维数组的方法有很多种,我们这里介绍两种常见的方法。 方法一:使用嵌套的for循环来创建二维数组 //创建一个3行4列的二维数组,并将…

    JavaScript 2023年5月27日
    00
  • JS网页播放声音实现代码兼容各种浏览器

    为了在网页中播放声音,我们可以使用HTML5音频标签或通过JavaScript代码动态创建audio元素。但由于不同的浏览器对HTML5音频支持的兼容性不同,我们需要编写代码以确保在各种浏览器中都能播放声音。 接下来的攻略将展示如何使用JavaScript创建兼容各种浏览器的网页播放声音的代码。 1. 创建声音对象 首先,我们需要创建一个声音对象。要创建声音…

    JavaScript 2023年6月11日
    00
  • javascript html5移动端轻松实现文件上传

    下面是详细讲解“javascript html5移动端轻松实现文件上传”的完整攻略。 背景知识 在网页开发中,文件上传是一个非常常见的需求。在移动端,由于浏览器环境和PC端的差异,实现文件上传会有一些不同的方式。在这里,我们通过HTML5中的文件上传API,借助Javascript来实现移动端的文件上传。 HTML5文件上传API HTML5中新增了文件上传…

    JavaScript 2023年5月27日
    00
  • jQuery EasyUI API 中文文档 – ValidateBox验证框

    关于“jQuery EasyUI API 中文文档 – ValidateBox验证框”的完整攻略,我会给您进行详细介绍。 简介 ValidateBox是jQuery EasyUI库中的一种输入验证框。通过ValidateBox,我们可以轻松地验证用户输入的内容是否合规。同时,ValidateBox也支持自定义验证规则。 基本用法 首先,我们需要引入jQuer…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部