变量值javascript的大写首字母[重复]

Posted

技术标签:

【中文标题】变量值javascript的大写首字母[重复]【英文标题】:Uppercase first letter of variable value javascript [duplicate] 【发布时间】:2019-02-02 13:25:20 【问题描述】:

我正在尝试将变量值的输出字符串大写,如下所示;

我试过了:

document.getElementById('namePlaceholder').innerhtml =  name.value.charAt(0).toUpperCase() + ' is here ';

name.value 是用户输入,因此我尝试将名称的第一个字母大写。 例子

name.value = james

首选结果詹姆斯在这里。

是否有一个简单的 javascript 解决方案?

【问题讨论】:

【参考方案1】:

你不能在你尝试的时候直接改变字符串——你必须通过连接你想要的片段来创建一个新的字符串:

document.getElementById('namePlaceholder').innerHTML =  
  name.value.charAt(0).toUpperCase() +   // will give you "J"
  name.value.slice(1).toLowerCase() +    // will give you "ames"
  ' is here ';

用通俗的话来说,slice(1) 部分表示“抓住第一个字符之后的所有内容”。用更专业的术语来说,如果你有 James 这个名字,你可以把它想象成一系列字母(不是数组,而是有点):

['J', 'a', 'm', 'e', 's']

您可以访问单个字母,例如 name[0],这将给您“J”和name[3],它将给您“e”。然后您可以执行name.slice(1),它将从“a”开始并在其后获取所有内容:“ames”。为了进一步说明,您可以使用name.slice(-2) 来获取最后两个字符:“es”。或者,如果你想要“我”,你可以name.slice(2, 4)

【讨论】:

已添加 1 行如下: name.value = name.value.charAt(0).toUpperCase() + // 将为您提供 "J" name.value.slice(1).toLowerCase () + (所以我不必为每个 if 语句都这样做。)谢谢!【参考方案2】:

使用substring

document.getElementById('namePlaceholder').innerHTML =  
        name.value.charAt(0).toUpperCase() + 
        name.value.substr(1) +
        ' is here ';

使用Regular Expression:

document.getElementById('namePlaceholder').innerHTML =  
     name.value.replace(/^\w/, c => c.toUpperCase()); + ' is here ';

完全类似于以下内容:

document.getElementById('namePlaceholder').innerHTML =  
     name.value.replace(/^\w/, function (chr) 
        return chr.toUpperCase();
     ); 
     + ' is here ';

【讨论】:

以上是关于变量值javascript的大写首字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章

仅第一个单词的大写首字母[重复]

excel一键大写字母变大写

关于C语言输入字符串后将首字母变大写~~~

HDU2026 首字母变大写文本处理

HDU2026 首字母变大写文本处理

首字母变大写脚本