首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JavaScript将字符串转换为标题大小写

使用JavaScript将字符串转换为标题大小写
EN

Stack Overflow用户
提问于 2008-10-13 16:05:03
回答 66查看 514K关注 0票数 662

有没有一种简单的方法可以将字符串转换为标题大小写?例如,john smith变成了John Smith。我不是在寻找像John Resig's solution这样复杂的东西,只是(希望)某种一两行代码。

EN

回答 66

Stack Overflow用户

发布于 2008-10-13 08:18:27

试试这个:

代码语言:javascript
复制
function toTitleCase(str) {
  return str.replace(
    /\w\S*/g,
    function(txt) {
      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    }
  );
}
代码语言:javascript
复制
<form>
  Input:
  <br /><textarea name="input" onchange="form.output.value=toTitleCase(this.value)" onkeyup="form.output.value=toTitleCase(this.value)"></textarea>
  <br />Output:
  <br /><textarea name="output" readonly onclick="select(this)"></textarea>
</form>

票数 882
EN

Stack Overflow用户

发布于 2010-06-16 22:58:44

如果CSS解决方案满足您的需要,则可以将text-transform CSS样式应用于控件:

代码语言:javascript
复制
text-transform: capitalize;

请注意,这将转变为:

hello worldHello World

HELLO WORLDHELLO WORLD (不变)

emily-jane o'brienEmily-jane O'brien (不正确)

Maria von TrappMaria Von Trapp (不正确)

票数 230
EN

Stack Overflow用户

发布于 2011-04-07 08:14:50

一种稍微优雅的方式,采用Greg Dean的函数:

代码语言:javascript
复制
String.prototype.toProperCase = function () {
    return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
};

它的名称如下:

代码语言:javascript
复制
"pascal".toProperCase();
票数 218
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/196972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档