变量值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的大写首字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章