如何在javascript中将字符串的每个单词的第一个字符大写? [复制]
Posted
技术标签:
【中文标题】如何在javascript中将字符串的每个单词的第一个字符大写? [复制]【英文标题】:how to captalize the first character of every word of a string in javascript? [duplicate] 【发布时间】:2016-03-17 00:01:23 【问题描述】:我已经到处寻找如何将字符串中每个单词的第一个字符大写,但没有任何帮助。我需要将输入的字符串设置为标题大写字符小写 one 。 我试过这个:
function titleCase(str)
//converting the giving string into array
str =str.split(" ");
//iterating over all elem.s in the array
for(var i=0;i<str.length;i++)
//converting each elem. into string
str[i]=str[i].toString();
//converting the first char to upper case &concatenating to the rest chars
str[i]=str[i].toUpperCase(str[i].charAt(0))+ str[i].substring(1);
return str;
titleCase("I'm a little tea pot");
【问题讨论】:
你的意思是字符串中每个单词的第一个字符? 请在这里找到你的答案Capitalize the first letter of string in javascript 是I'm A Little Tea Pot
预期输出
@Tushar 我猜是这样......从 gurvinder372 得到了一个有效的答案
@benzkji 你看不到已删除的答案,我也有答案function titleCase(str) str = str.split(" "); for (var i = 0; i < str.length; i++) str[i] = str[i][0].toUpperCase() + str[i].substring(1); return str.join(' '); var str = titleCase("I'm a little tea pot");
和 var str = "i'm a little tea pot"; str = str.replace(/^[a-z]|\s[a-z]/g, function(m) return m.toUpperCase(); );
【参考方案1】:
function firstToUpperCase( str )
return str.substr(0, 1).toUpperCase() + str.substr(1);
var str = 'hello, I\'m a string';
var uc_str = firstToUpperCase( str );
console.log( uc_str ); //Hello, I'm a string
【讨论】:
【参考方案2】: function capitalise(string)
return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
capitalise("smallletters") ;// Smallletters
【讨论】:
【参考方案3】:如果您想将字符串中每个单词的第一个字符大写(看起来就像您对代码所做的那样)
function titleCase(str)
str =str.split(" ");
for(var i=0;i<str.length;i++)
str[i]=str[i].charAt(0).toUpperCase + str[i].substring(1);
return str.join(" ");
alert( titleCase("I'm a little tea pot") );
【讨论】:
这是正确答案...【参考方案4】:你可以这样做:
function capitalFirst(str)
return str.charAt(0).toUpperCase() + str.slice(1);
【讨论】:
【参考方案5】:试试这样的:
String.prototype.titleCase = function()
return this[0].toUpperCase() + this.slice(1)
用法:
"hello my name is Jacques".titleCase();
如果您想将每个单词开头的字符大写,请尝试以下操作:
String.prototype.capitalize = function()
return this.split(" ")
.map(function()
return this[0].toUpperCase() + this.slice(1);
).join(" ");
【讨论】:
以上是关于如何在javascript中将字符串的每个单词的第一个字符大写? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Javascript 分解 HTML 字符串中的每个单词,然后在 HTML 中一个一个地显示每个单词? [复制]