Я увидел эту функцию и подумал, что поделюсь ею, поскольку она может пригодиться для динамического создания заголовков страниц (правильно помогите с SEO, если ваши заголовки единообразны и имеют заглавные буквы). Первоначально эта функция была написана Джоном Грубером, но пару лет назад она была перенесена на jQuery Джоном Резигом.
использование
var someVar = 'we love jquery';
console.log(upper(someVar));
//output: We love jquery
console.log(lower(someVar));
//output: we love jquery
console.log(titleCaps(someVar));
//output: We Love Jquery
Функция jQuery titleCaps
/**
* Title Caps
*
* Ported to JavaScript By John Resig - http://ejohn.org/ - 21 May 2008
* Original by John Gruber - http://daringfireball.net/ - 10 May 2008
* License: http://www.opensource.org/licenses/mit-license.php
*/
(function($)
{
var small = "(a|an|and|as|at|but|by|en|for|if|in|of|on|or|the|to|v[.]?|via|vs[.]?)";
var punct = "([!"#$%&'()*+,./:;< =>?@[\\\]^_`{|}~-]*)";
/**
* Apply title caps to the supplied string
* @param {String} title
* @returns {String}
*/
titleCaps = function(title)
{
var parts = [], split = /[:.;?!] |(?: |^)["Ã’]/g, index = 0;
while (true)
{
var m = split.exec(title);
parts.push( title.substring(index, m ? m.index : title.length)
.replace(/b([A-Za-z][a-z.'Õ]*)b/g, function(all)
{
return /[A-Za-z].[A-Za-z]/.test(all) ? all : upper(all);
})
.replace(RegExp("\b" + small + "\b", "ig"), lower)
.replace(RegExp("^" + punct + small + "\b", "ig"), function(all, punct, word)
{
return punct + upper(word);
})
.replace(RegExp("\b" + small + punct + "$", "ig"), upper));
index = split.lastIndex;
if(m) parts.push(m[0]);
else break;
}
return parts.join("").replace(/ V(s?). /ig, " v$1. ")
.replace(/(['Õ])Sb/ig, "$1s")
.replace(/b(AT&T|Q&A)b/ig, function(all){
return all.toUpperCase();
});
};
function lower(word)
{
return word.toLowerCase();
}
function upper(word)
{
return word.substr(0,1).toUpperCase() + word.substr(1);
}
//Examples
var someVar = 'we love jquery';
console.log(upper(someVar));
//output: We love jquery
console.log(lower(someVar));
//output: we love jquery
console.log(titleCaps(someVar));
//output: We Love Jquery
})(jQuery);