javascript大写

var font_name = $(".font").val(); 

我在我的JavaScript代码中有这个。 在我的html中,我有一个类.font的输入表单。

我想把.font中每个单词的第一个字母.font ,所以例如如果有人输入Lucida sans它将变成Lucida Sans 。 我找不到一个为你做的jQuery方法所以我想我必须使用实际的JavaScript,但我真的不知道如何。

 var font_first = font_name.substr(0,1); var font = font_first.toUpperCase() + font_name.substr(1, font_name.length - 1); 

我使用它来大写整个字体名称的第一个字母,但正如我所说,我需要大写每个单词的第一个字母。

你能不能只使用CSS?

 .font { text-transform: capitalize; } 

在jQuery中:

 $(".font").css("text-transform","capitalize"); 

您可以拆分空格,将“大写”function映射到每个部分,然后将它们连接在一起。

 var font_name = $(".font").val(); font_name = font_name.split(" ") .map(function(a) {return a.charAt(0).toUpperCase()+a.substr(1);}) .join(" "); 

或者,请参阅PHPJS的ucwords

在普通的JavaScript中:

 function firstcap(str) { var len = str.length; var re = /^\s$/; var special = true; // signalizes whether previous char is special or not for (var i=0; i=97 && code<=122 && special) { str = str.substr(0, i) + String.fromCharCode(code-32) + str.substr(i+1); special = false; } else if (re.test(str[i])) { special = true; } } return str; } alert(firstcap('lucida sans')); 
 var str = "hello world"; str = str.toLowerCase().replace(/\b./g, function(letter) { return letter.toUpperCase(); }); alert(str); 

从这里堆栈

这是我刚写完的JavaScript函数。 自从我第一次检查StackOverflow以查看这个JavaScript是否存在,但是不容易找到时,我会发布它供你们使用。 希望它可以帮助你们,如果确实如此,那就帮我了:)

 var FormatMyTitle = function(UnformattedData) { var OutgoingData = UnformattedData; if (UnformattedData.indexOf("") != -1) { var OptionNameParts = UnformattedData.split(' '); for (var i=0; i= 1) { var FirstLetter = ''+OptionNamePieces[0]+''; OptionNamePieces[0] = FirstLetter.toUpperCase(); } OptionNameParts[i] = OptionNamePieces.join(''); } OutgoingData = OptionNameParts.join(' '); } return OutgoingData; }; 

你会像这样使用它,例如,使用原始变量(font_name):

 var FormattedTitle = FormatMyTitle(font_name);