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

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

我试过了:

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

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

name.value = james

首选结果詹姆斯在这里。

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

【问题讨论】:

    标签: javascript jquery css innerhtml


    【解决方案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 ';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多