5

これは私のページのタイトルです:

<title>john smith - Site and site - jobs</title>

ページのタイトルは最初のハイフェン (-) まで大文字にする必要があります。これは私のコードですが、2 番目の部分と最初のハイフンが失われています。

function toTitleCase(str){
    var str  = document.title;
    subTitle = str.split('-')[0];
    return str.substring(0,str.indexOf('-')).replace(/\w\S*/g, function(txt){
        return txt.charAt(0).toUpperCase() + txt.substring(1);
    });
}
document.title = toTitleCase(document.title);
4

6 に答える 6

1

核のREGEXルートを投入するのは常に良いことです...

var str = "some words - are - here";
console.log("this is - a - string".replace(/^[^\-]*/, function($0) {
    return $0.replace(/\b[a-z]/g, function($0) { return $0.toUpperCase(); });
}));

出力:

"Some Words - are - here"
于 2012-07-06T11:17:30.287 に答える
1
function toTitleCase(str){
    str = str.split('-');
    str[0]=str[0].replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
    return str.join("-");
    }
document.title = toTitleCase(document.title);
于 2012-07-06T11:08:53.627 に答える
0

このコードが役に立ちます。

function toTitleCase(str) {
        subTitle = str.split('-')[0].capitalize();
        return subTitle + str.substring(subTitle.length);
    }

    String.prototype.capitalize = function () {
        return this.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
    }
于 2012-07-06T11:32:54.290 に答える
0

これは役立つかもしれません..

function ok()
{
  var str  = document.title;
  document.title=str.substring(0, str.indexOf('-')).toUpperCase()+str.substring(str.indexOf('-'),str.length);

}

于 2012-07-06T11:50:48.257 に答える
0

これを試してみてください:http://jsfiddle.net/LK3Vd/

私が何かを逃したかどうかを教えてください。

お役に立てれば:)

コード

var str = $('#foo').html();
str = str.substring(0, str.indexOf('-'));

str = str.toLowerCase().replace(/\b[a-z]/g, function(letter) {
    return letter.toUpperCase();
});
于 2012-07-06T11:46:29.423 に答える
0

回答を「ベストオブ」+私の塩の粒を要約すると:

String.prototype.capitalize = function () {
  return this.replace(/\b[a-z]/g, function ($0) { return $0.toUpperCase(); });
};

function capitalizeTitle()
{
  document.title = document.title.replace(/^[^\-]*/, function($0) {
    return $0.capitalize();
  });
}

capitalizeTitle();
于 2012-07-06T11:12:34.593 に答える