javascript大写

时间:2012-07-06 21:42:18

标签: javascript jquery capitalization

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);

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

5 个答案:

答案 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);