如何在 JavaScript 中将字符串的首字母变为大写?
2009-06-22
4181498
如果字符串的第一个字符是字母,如何将其变为大写,但不改变其他字母的大小写?
例如:
-
“this is a test”
→“This is a test”
-
“the Eiffel Tower”
→“The Eiffel Tower”
-
“/index.html”
→“/index.html”
3个回答
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
其他一些答案修改了
String.prototype
(这个答案也曾经修改过),但是由于可维护性,我现在不建议这样做(很难找出函数被添加到
prototype
的位置,并且如果其他代码使用相同的名称/浏览器将来添加具有相同名称的本机函数,可能会导致冲突)。
Steve Harrison
2009-06-22
编辑以添加此免责声明 :请阅读评论以了解编辑 JS 基本类型的风险。
这是一个更面向对象的方法:
Object.defineProperty(String.prototype, 'capitalize', {
value: function() {
return this.charAt(0).toUpperCase() + this.slice(1);
},
enumerable: false
});
您可以像这样调用该函数:
"hello, world!".capitalize();
预期输出为:
"Hello, world!"
Steve Hansell
2010-07-20
仅使用 CSS 及其
text-transform
属性:
p::first-letter {
text-transform: capitalize;
}
sam6ber
2012-07-17