8

可能重复:
JavaScript中字符串的第一个字母大写

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

尊敬的nathan:,

您即将参加HTML测验。拜托。。。。。

我觉得这样看起来更好:

尊敬的Nathan:,

您即将参加HTML测验。拜托。。。。。

但是,如果用户输入以小写字母开头的姓名,则会保持原样。如果第一个字母是小写的,还有什么办法可以让它变成大写字母吗使用jQuery?

例如,下面是一个简单的名称输入脚本:http://jsfiddle.net/RcLt6/

当然,如果您输入的名字全部是小写的,那么它将全部是小写。如何使输入的第一个字符始终大写?

5
  • 2
    这在中得到了很好的回答这个堆栈溢出问题 2011年8月14日2:21
  • 这不是一个重复,因为我不想把所有字母都小写,只想把第一个字母小写。
    ——内森
    2011年8月14日2:52
  • @内森:但它叫“JavaScript中字符串的第一个字母大写”。 2011年8月14日3:42
  • @哦,我明白你的意思了。我只是在看上面的第一个答案。
    ——内森
    2011年8月14日3:59
  • ..称为“大写首字母”,并将第一个字母大写…:) 2011年8月14日4:25

1答案1

重置为默认值
5

这样可以做到:

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

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


顺便说一句,把INPUT放在LABEL里面-这样你就不用使用对于属性将标签与输入字段关联:

<标签>名称:<input type=“text”></label>
8
  • 谢谢!我只是替换吗字符串具有名称(名称是保存名称值的变量)
    ——内森
    2011年8月14日2:24
  • @内森要知道[]字符串上的符号在IE7和IE6中不起作用,所以如果你关心那些浏览器,你应该使用str.charAt(0)而不是字符串[0]. 2011年8月14日2:32
  • @谢谢,但我真的不在乎IE8和downlol。我的项目不支持这些。只有IE9、Firefox、Safari、Google Chrome等(基本上所有优秀/现代浏览器支持)大多数观众都会使用非IE浏览器,所以这并不重要。谢谢你的回答!:)
    ——内森
    2011年8月14日2:50
  • 使用符合标准的语法。不要打包<输入>里面<标签>就像这样:这是一种诱人的懒惰,但它不是便携式的。。。也不是语义。 2011年8月14日2:55
  • @Tomalak但是字符串[0]符合标准-在ES5中。我必须承认我在ES5规范中找不到它:),但是Mozilla表示它在ES5中,并且kangax将其列为中的ES5功能他的ES5表. 2011年8月14日3:18

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.