如何使变量的第一个字母始终大写? [复制]

Posted

技术标签:

【中文标题】如何使变量的第一个字母始终大写? [复制]【英文标题】:How can I make the first letter of a variable always capital? [duplicate] 【发布时间】:2011-10-26 15:24:44 【问题描述】:

可能重复:Capitalize the first letter of string in javascript

我正在做一个叫做“html 测验”的东西。它是用 JavaScript 制作的。当用户第一次输入它时,他们必须输入他们的名字。一旦他们单击提交,他们输入的名称就会保存到一个变量中。当它说:

亲爱的内森,

您即将参加 HTML 测验。请.....

我觉得这样更好看:

亲爱的内森,

您即将参加 HTML 测验。请.....

但是,如果用户输入的姓名以小写字母开头,它将保持这种状态。如果第一个字母是小写with jQuery,有没有办法让第一个字母变成大写字母?

例如,这里是一个简单的名字输入脚本:http://jsfiddle.net/RcLt6/

如果您以全小写输入您的姓名,当然,它会全小写。无论如何,如何使输入的第一个字符始终大写?

【问题讨论】:

这在this Stack Overflow Question中得到了很好的回答 这不是重复的,因为我不想小写所有字母,只小写第一个。 @Nathan:但它被称为“将 JavaScript 中字符串的首字母大写”。 @Tomalak 哦,我明白你的意思了。我只是在看那里的第一个答案。 .. 称为“capitaliseFirstLetter”,首字母大写... :) 【参考方案1】:

这样就可以了:

str = str[0].toUpperCase() + str.slice(1);

现场演示: http://jsfiddle.net/qNJVQ/


顺便说一句,将 INPUT 放在 LABEL 中 - 这样您就不必使用 for 属性将标签与输入字段相关联:

<label>
    Name: <input type="text">
</label>

【讨论】:

谢谢!我是否只需将str 替换为name? (name 是保存名称值的变量) @Nathan 请注意,字符串上的[] 表示法在 IE7 和 IE6 中不起作用,因此如果您关心这些浏览器,您应该使用 str.charAt(0) 而不是 str[0]。跨度> @Šime 谢谢,但我并不真正关心 IE 8 及以下版本,哈哈。我的项目不支持这些。只有 IE 9、Firefox、Safari、Google Chrome 等(基本上所有的优秀/现代浏览器都受支持)大多数观众无论如何都会使用非 IE 浏览器,所以这并不重要。感谢您的回答! :) 使用符合标准的语法。并且不要像这样将&lt;input&gt; 包裹在&lt;label&gt; 中:这是一种诱人的懒惰,但它不是可移植的……也不是语义的。 @Tomalak 但是str[0] 是符合标准的——它在 ES5 中。我必须承认我无法在 ES5 规范 :) 中找到它,但在 Mozilla states it is in ES5 中找到它,并且 kangax 在 his ES5 table 中将其列为 ES5 特性。

以上是关于如何使变量的第一个字母始终大写? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使字符串的第一个字母大写? [复制]

如何在javaScript中将每个文本输入的第一个字母大写? [复制]

如何将电子邮件地址中名字和姓氏的第一个字母大写?

如何在飞镖中将字符串的第一个字母大写?

变量名的第一个字母从大写变为小写

如何将字符串的第一个字母大写