JavaScript中的字符串大小写转换工具

Published on
Published on
/3 mins read/---

我知道我们应该使用库来处理这些,但有时我们需要的只是一个简单的函数来处理1个或2个情况

所以来了,直接复制粘贴下面的代码到你的应用中。

首字母大写所有单词

/**
 * 将字符串中所有单词的首字母大写。
 *
 * @param str 要转换的字符串。
 * @returns 首字母大写后的字符串。
 * @example
 * capitalizeAll('foo bar') // "Foo Bar"
 */
function capitalizeAll(str: string): string {
  return capitalize(str.replace(/\s./g, ($1) => $1.toUpperCase()))
}

PascalCase 转纯文本

/**
 * 将帕斯卡命名法字符串转换为纯文本。
 *
 * @param str 要转换的字符串。
 * @returns 纯文本。
 * @example
 * pascalCaseToPlainText('FooBar') // "foo bar"
 */
function pascalCaseToPlainText(str: string): string {
  return str.replace(/[A-Z]/g, ($1) => ` ${$1.toLowerCase()}`).trim()
}

camelCasekebab-case

/**
 * 将驼峰命名法字符串转换为短横线命名法。
 * @param str 要转换的字符串。
 * @returns 短横线命名法字符串。
 * @example
 * camelCaseToKebabCase('fooBar') // "foo-bar"
 */
function camelCaseToKebabCase(str: string): string {
  return str.replace(/[A-Z]/g, ($1) => `-${$1.toLowerCase()}`).trim()
}

kebab-case 转纯文本

/**
 * 将短横线命名法字符串转换为纯文本。
 *
 * @param str 要转换的字符串。
 * @returns 纯文本。
 * @example
 * kebabCaseToPlainText('foo-bar') // "foo bar"
 */
function kebabCaseToPlainText(str: string): string {
  return str.replace(/-/g, ' ')
}

纯文本转 kebab-case

/**
 * 将纯文本字符串转换为短横线命名法。
 *
 * @param str 要转换的字符串。
 * @returns 短横线命名法字符串。
 * @example
 * toKebabCase('hello World') // "hello-world"
 */
function toKebabCase(str: string): string {
  return str.replace(/\s/g, '-').toLowerCase()
}

首字母大写

/**
 * 将字符串的首字母大写。
 *
 * @param str 要转换的字符串。
 * @returns 首字母大写后的字符串。
 * @example
 * capitalize('hello') // "Hello"
 */
function capitalize(str: string): string {
  return str.charAt(0).toUpperCase() + str.slice(1)
}

camelCase 转纯文本

/**
 * 将驼峰命名法字符串转换为纯文本。
 *
 * @param str 要转换的字符串。
 * @returns 纯文本。
 * @example
 * camelCaseToPlainText('fooBar') // "foo bar"
 */
function camelCaseToPlainText(str: string): string {
  return str.replace(/[A-Z]/g, ($1) => ` ${$1.toLowerCase()}`).trim()
}

纯文本转 camelCase

/**
 * 将纯文本字符串转换为驼峰命名法。
 *
 * @param str 要转换的字符串。
 * @returns 驼峰命名法字符串。
 * @example
 * toCamelCase('hello world') // "helloWorld"
 */
function toCamelCase(str: string): string {
  return str.replace(/\s+(.)/g, (_, char) => char.toUpperCase())
}

未来还会有更多工具函数。敬请期待!