Как писать с заглавной буквы каждое слово даже после дефиса с помощью JQuery?

Я хочу использовать все слова во вводе с заглавной буквы (с помощью функции клавиатуры), чтобы введены имена форматов.

примеры:

john doe => John Doe

JOHN DOE => John Doe

tommy-lee => Tommy-Lee

В настоящее время я использую этот код:

$("input").keyup(function() {
    var cp_value= ucwords($(this).val(),true) ;
    $(this).val(cp_value );
});

function ucwords(str,force){
    str=force ? str.toLowerCase() : str;  
    return str.replace(/(\b)([a-zA-Z])/g,
    function(firstLetter){
        return firstLetter.toUpperCase();
    });
}

Но если Слово содержит ударение, следующая буква также в верхнем регистре: John Döe => John DöE.

Как лучше всего получить то, что я хочу?

Спасибо

6
задан Charles 30 October 2011 в 06:54
поделиться