JavaScript的Title Case
智能地将标题和标题格式化为一致的标题大小写。
安装
浏览器
每年都会有新的方式将JS添加到HTML中。一个现代的选择是:
<script type="module">
import { toTitleCase } from './to-title-case.js'
toTitleCase('make me a title') //→ Make Me a Title
</script>
或者想要经典的全球氛围,你可以试试:
<script src="to-title-case.cjs"></script>
<script>
toTitleCase('make me a title') //→ Make Me a Title
</script>
节点
安装与 npm install @gouch/to-title-case 然后导入:
import { toTitleCase } from '@gouch/to-title-case'
toTitleCase('make me a title') //→ Make Me a Title
使用
该脚本定义了该函数 toTitleCase(),它将标题大小写规则应用于输入字符串。为了获得最佳结果,假定输入是句子大小写或朴素标题大小写。
toTitleCase('make me a title') //→ Make Me a Title
选项
小写单词列表可以替换为你自己的:
toTitleCase('make me a title', { lowercase: ['me'] }) //→ Make me A Title
什么是产权案件?
标题大小写,或标题大小写,是格式化文章标题和其中的标题的惯例。它基本上相当于将每个单词大写,但有几个小写的例外,如果你错过了它们,看起来很奇怪。
大多数知名的风格指南都遵循以下原则 动态 规则的变化取决于一个词在上下文中的使用方式。计算语法超出了小脚本的范围,因此该脚本遵循静态的、一致的规则。这些规则与《纽约时报》的风格指南非常吻合。
大写规则
- 第一个和最后一个单词大写。对字幕也是如此。
- 用连字符连接的短语的两端都要大写。
- 尽可能保留专有名词和专业术语的格式。
- 小写这些单词:
- 冠词:a, an, the
- 连词:and, but, if, nor, or
- 短介词:as, at, by, en, for, in, of, on, per, to, via
- 相对:vs., vs., v., v.
- 借:
- 其他都大写。
灵感与资源
我做这个是为了回应 约翰·格鲁伯2008年的帖子.
马特·贝尔茨认为 一个优秀的网站 记录知名风格指南的不同规则。
常见问题解答
处理所有大写输入
如果您被大写输入所困扰,它 是 从技术上讲,可以通过应用小写变换来强制使用它:
toTitleCase('CNN REPORTS ON NASA CENTER IN HOUSTON, TX'.toLowerCase())
//→ Cnn Reports on Nasa Center in Houston, Tx
但在这样做之前要仔细考虑。虽然数据被大写卡住可能会令人沮丧,但将首字母缩写变成分散注意力的打字错误可能会更糟糕。
定义字符串方法
版本2将自身赋值为内置String对象的方法。如果你想恢复这个行为,你可以使用下面的代码:
String.prototype.toTitleCase = function (options) {
return toTitleCase(this, options)
}
'make me a title'.toTitleCase() //→ Make Me a Title
注意:箭头函数在这里不起作用,因为它们改变了方式 this 处理。