使用JavaScript将字符串中每个单词的第一个字母大写

时间:2015-11-23 05:01:40

标签: javascript

我目前正试图弄清楚如何将字符串中每个单词的第一个字母大写(单词中的所有其他字母)。例如:“编码可能令人困惑”

这是我到目前为止所拥有的。我知道我肯定缺少代码,我只是不确定接下来会发生什么。我也不确定我的是否正确。任何帮助将不胜感激。

function titleCase(str) {
  var words = str.toLowerCase.split(' ');

  for(i = 0; i < words.length; i++) {
    var firstLetter = words[i].charAt(0).toUpperCase;
  }

  return words.join(' ');
}

titleCase("I'm a little tea pot");

4 个答案:

答案 0 :(得分:3)

您可以使用 map() substring() 并执行此类操作

function titleCase(str) {
  return str.toLowerCase().split(' ').map(function(v) {
    return v.substring(0, 1).toUpperCase() + v.substring(1)
  }).join(' ');
}
document.write(titleCase("I'm a little tea pot"));

答案 1 :(得分:2)

试试这段代码:

var str = "this is sample text";
console.log(toTitleCase(str));

function toTitleCase(str)
{
    return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}

JsFiddle

答案 2 :(得分:0)

使用以下代码获取ucword

&#13;
&#13;
CustomControl
&#13;
&#13;
&#13;

答案 3 :(得分:0)

这个怎么样

TextBlock

所以函数将是

        function titleCase(str) {
            return (str + '')
                .replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g, function($1) {
                    return $1.toUpperCase();
                });
        }
    
        var data = titleCase("I'm a little tea pot");
        document.write(data);