一尘不染

如何将每个单词的首字母大写,例如2单词的城市?[重复]

javascript

当这个城市只有一个字时,我的JS会很高兴:

  • 芝加哥==>芝加哥

但是当它

  • 圣地亚哥==>圣地亚哥

我如何使其成为圣地亚哥?

function convert_case() {
    document.profile_form.city.value =
        document.profile_form.city.value.substr(0,1).toUpperCase() + 
        document.profile_form.city.value.substr(1).toLowerCase();
}

阅读 311

收藏
2020-04-25

共1个答案

一尘不染

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

或在ES6中:

var text = "foo bar loo zoo moo";
text = text.toLowerCase()
    .split(' ')
    .map((s) => s.charAt(0).toUpperCase() + s.substring(1))
    .join(' ');
2020-04-25