Есть ли встроенный способ с jQuery для "заголовка" строки? Так что, учитывая что-то вроде bob-кузнец, он превращается в "Боб Смит"?
Случай с заголовком jQuery
Ответ 1
Для этого вам не нужен jQuery; это может быть выполнено с использованием метода .replace():
function toTitleCase(str) {
    return str.replace(/(?:^|\s)\w/g, function(match) {
        return match.toUpperCase();
    });
}
alert(toTitleCase("foo bar baz")); // alerts "Foo Bar Baz"
		Ответ 2
Вы можете использовать css, например:
.className 
{
    text-transform:capitalize;
}
Это заглавная буква. Вы можете прочитать здесь
Ответ 3
В jQuery 1.4+ (по крайней мере) вы можете использовать
var camelized = jQuery.camelCase("some-string");
// Returns "someString"
Я не мог найти его, когда я в последний раз проверял документацию, но там он и использовался внутри.
Ответ 4
В jQuery ничего не встроено, но вы можете проверить этот сайт с базовым кодом:
String.prototype.toCamel = function(){
    return this.replace(/(\-[a-z])/g, function($1){return $1.toUpperCase().replace('-','');});
};
Казалось бы, оттуда вы могли бы вызвать такой код:
var str = "my string to camel case";
str = str.toCamel();
if ( typeof console !== 'undefined' ) console.log(str);
		Ответ 5
является более простым... 
Вы должны использовать обратный вызов взамен.
toCamelCase = function(str){
  return str.replace(/-\w/g,function(match){return match[1].toUpperCase()})
}
// this works for css properties with "-" 
// -webkit-user-select => WebkitUserSelect
Вы можете изменить RegExp на /[-\s]\w/g или/(^ | [-\s])\w/g или другое...
Ответ 6
Если вы хотите сразиться с ужасными людьми в мире, которые TYPE IN ALL CAPS, а также заглавием его в то же время, вы можете использовать этот вариант верхнего ответа здесь:
function toTitleCase(str) {
        var lcStr = str.toLowerCase();
        return lcStr.replace(/(?:^|\s)\w/g, function(match) {
            return match.toUpperCase();
        });
    }
alert(toTitleCase("FOO BAR baz")); // alerts "Foo Bar Baz"
		Ответ 7
Я знаю, что этот вопрос немного стар, но
Здесь моя версия функции camelCase:
var camelCase = (function () {
    var DEFAULT_REGEX = /[-_]+(.)?/g;
    function toUpper(match, group1) {
        return group1 ? group1.toUpperCase() : '';
    }
    return function (str, delimiters) {
        return str.replace(delimiters ? new RegExp('[' + delimiters + ']+(.)?', 'g') : DEFAULT_REGEX, toUpper);
    };
})();
Он обрабатывает все следующие случаи ребер:
- по умолчанию выполняет как подчеркивания, так и дефис (настраивается со вторым параметром)
 - строка с символами Unicode
 - строка, заканчивающаяся дефисом или подчеркиванием
 - строка с последовательными дефисами или символами подчеркивания
 
Здесь ссылка на живые тесты: http://jsfiddle.net/avKzf/2/
Вот результаты тестов:
- input: "ab-cd-ef", результат: "abCdEf"
 - input: "ab-cd-ef-", result: "abCdEf"
 - input: "ab-cd-ef--", result: "abCdEf"
 - input: "ab-cd - ef--", result: "abCdEf"
 - input: "--ab-cd - ef--", result: "AbCdEf"
 - input: "-ab-cd -__- ef--", result: "AbCdEf"
 
Обратите внимание, что строки, начинающиеся с разделителей, приведут к заглавной букве в начале. Если это не то, что вы ожидаете, вы всегда можете использовать lcfirst. Здесь мой lcfirst, если вам это нужно:
function lcfirst(str) {
    return str && str.charAt(0).toLowerCase() + str.substring(1);
}
		Ответ 8
    function camelCase(str){
        str     = $.camelCase(str.replace(/[_ ]/g, '-')).replace(/-/g, '');
        return  str;//.substring(0,1).toUpperCase()+str.substring(1);
    },
		Ответ 9
Вы также можете реализовать чистый метод расширения javascript, например:
String.prototype.capitalize = function () {
    return this.toLowerCase().replace(/\b[a-z]/g, function (letter) {
        return letter.toUpperCase();
    });
};
И назовите его следующим образом:
"HELLO world".capitalize()
		Ответ 10
Использовать встроенный метод camelcase в jquery:
$.camelCase($("#text").html());
		Ответ 11
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
   $('.clsToTitleCase').keyup(function () { 
        this.value = this.value.replace(/(?:^|\s)\w/g, function (match) {
           return match.toUpperCase();
        })
    });
})
</script>
<body>
<input class='clsToTitleCase' type='text'>
</body>
</html>
		Ответ 12
Вы также можете использовать такой метод -
toTitleCase: function (str) {
        return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
    }
		Ответ 13
Я немного изменил код rBizzle. Я не хочу связываться с McClouds и McIntosh в мире (сейчас я слушаю кельтскую музыку!), Поэтому я добавил условие, которое нужно изменять, только если ALL CAPS или ALL в нижнем регистре:
function isUpperCase(str) {
    return str === str.toUpperCase();
}
function isLowerCase(str) {
    return str === str.toLowerCase();
}
function toProperCase(str) {
	//only mess with it if it is all lower or upper case letters
	if (isUpperCase(str) || isLowerCase(str)){
	 	var lcStr = str.toLowerCase();
    	return lcStr.replace(/(?:^|\s)\w/g, function(match) {
       	 	return match.toUpperCase();
    	});	
	} else {
		return str;
	}
}