var font_name = $(".font").val();
我的JavaScript代码中有这个。在我的html中,我有一个类.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);
我用它来大写整个字体名称的第一个字母,但正如我所说,我需要将每个单词的第一个字母大写。
答案 0 :(得分:4)
你能不能只使用CSS?
.font {
text-transform: capitalize;
}
在jQuery中:
$(".font").css("text-transform","capitalize");
答案 1 :(得分:2)
您可以拆分空格,将“大写”功能映射到每个部分,然后将它们连接在一起。
var font_name = $(".font").val();
font_name = font_name.split(" ")
.map(function(a) {return a.charAt(0).toUpperCase()+a.substr(1);})
.join(" ");
或者,请参阅ucwords
by PHPJS
答案 2 :(得分:1)
简单的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<len; i++) {
var code = str.charCodeAt(i);
if (code>=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'));
答案 3 :(得分:0)
var str = "hello world";
str = str.toLowerCase().replace(/\b./g, function(letter) {
return letter.toUpperCase();
});
alert(str);
从这里stack
答案 4 :(得分:0)
这是我刚写完的JavaScript函数。自从我第一次检查StackOverflow以查看这个JavaScript是否存在,但是很容易找到它之后,我会发布它供你们使用。希望它可以帮助你们,如果确实如此,就会让我感觉上升:)
var FormatMyTitle = function(UnformattedData) {
var OutgoingData = UnformattedData;
if (UnformattedData.indexOf("") != -1) {
var OptionNameParts = UnformattedData.split(' ');
for (var i=0; i<OptionNameParts.length; i++) {
var OptionNamePieces = OptionNameParts[i].split('');
if (OptionNamePieces.length >= 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);