I want to capitalize all words in an input (using keyup function) to format names entered. 

examples :

john doe => John Doe

JOHN DOE => John Doe

tommy-lee => Tommy-Lee

Currently, I use this code :

```
$("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();
    });
}

```

But if the word contains an accentuated character, the following letter is also uppercased : John Döe => John DöE.

What is the best solution to get what I want ?

Thank you