在 Javascript 中将任何类型的字符串更改为标题大小写
Change any type of string to Title Case in Javascript
我想编写一个函数,可以将任何类型的字符串大小写(即小写,大写,驼峰大小写,snake_case,lisp-case)更改为标题大小写
我不是在寻找非常复杂的东西,只是一个简单的一两个衬里。
我尝试使用一些正则表达式,例如
function(input) {
return input.replace(/([^'W_]+[^'s_]*) */g, function(txt){
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
};
它适用于某些情况,但并非在所有情况下都有效
function titleCase(s) {
return s
.replace(/([^A-Z])([A-Z])/g, '$1 $2') // split cameCase
.replace(/[_'-]+/g, ' ') // split snake_case and lisp-case
.toLowerCase()
.replace(/(^'w|'b'w)/g, function(m) { return m.toUpperCase(); }) // title case words
.replace(/'s+/g, ' ') // collapse repeated whitespace
.replace(/^'s+|'s+$/, ''); // remove leading/trailing whitespace
}
例:
['UPPER CASE', 'camelCase', 'snake_case', 'lisp-case'].map(titleCase)
// result: ["Upper Case", "Camel Case", "Snake Case", "Lisp Case"]
试试这个:
var titleCase = oldString
.replace(/([a-z])([A-Z])/g, function (allMatches, firstMatch, secondMatch) {
return firstMatch + " " + secondMatch;
})
.toLowerCase()
.replace(/([ -_]|^)(.)/g, function (allMatches, firstMatch, secondMatch) {
return (firstMatch ? " " : "") + secondMatch.toUpperCase();
}
);
工作小提琴
工作小提琴2
相关文章:
- CSS-如何定位内容数据标题
- 在PHP中使用javascript更改页面标题'if'
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- Brightcove获取/显示HTML中的当前视频标题和描述
- React组件-设置页面标题
- jQuery动态更改标题
- Javascript 将 unicode 字符串转换为“标题大小写”
- 在 Javascript 中将任何类型的字符串更改为标题大小写
- 返回标题大小写,尊重单词中间的大写字母
- 如何通过css在输入框中应用标题大小写
- 标题大小写一个句子 - 哪个解决方案更好,为什么
- Regex函数使单词标题大小写(包括连字符)
- 将驼峰大小写文本转换为标题大小写文本
- javascript中的标题大小写和缩写
- 我如何使用简单的子字符串函数在javascript标题大小写句子
- JavaScript中用于变音符号(非ascii)的标题大小写
- 在Google Apps脚本中转换字符串到正确的/标题大小写
- JQuery-OnKeyPress输入文本标题大小写
- Lodash 标题大小写(每个单词的大写首字母)
- 标题大小写/正确的大小写,除非连续的大写使用Javascript