当这座城市只有一个词时,我的JS工作得很好:

  • cHIcaGO ==> Chicago

但是当它

  • san diego ==> San diego

我怎样才能让它变成圣地亚哥?

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();
}

推荐答案

有一个很好的答案here:

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(' ');

Javascript相关问答推荐

在shiny 模块中实现JavaScript

使用Apps Script缩短谷歌表中的URL?

在JavaScript中打开和关闭弹出窗口

为什么JavaScript双边字符串文字插值不是二次的?

从连接字符串创建客户端时,NodeJS连接到CosmosDB失败

有Angular 的material .未应用收件箱中的价值变化

Vega中的模运算符

警告!合同执行期间遇到错误[执行已恢复](Base Layer 2)

过滤对象数组并动态将属性放入新数组

Exceljs:我们在file.xlsx(...)&#中发现了一个问题'"" 39人;

JS,当你点击卡片下方的绿色空间,而它是在它的背后转动时,

如何在文本字段中输入变量?

try 使用javascript隐藏下拉 Select

在数组中查找重叠对象并仅返回那些重叠对象

在Reaction中的handleSubmit按钮内,useSelector值仍然为空

面对代码中的错误作为前端与后端的集成

在D3条形图中对具有相同X值的多条记录进行分组

为什么延迟在我的laravel项目中不起作用?

将相关数据组合到两个不同的数组中

MongoDB通过数字或字符串过滤列表