2012-06-06 4 views
2

Я хочу использовать символ строки, когда он получает пробел, но не меняет другие буквы. Например.капитализировать символ строки всякий раз, когда он получает пробел

the mango tree -> The Mango Tree 
an elephant gone -> An Elephant Gone 
the xyz hotel -> The Xyz Hotel 

в JavaScript

+0

Попробуйте что http://stackoverflow.com/questions/4878756/javascript-how-to-capitalize-first-letter-of-each-word-like-a-2-word-city – Sena

+0

@Sena, этот ответ изменяет любые другие заглавные буквы в строке на нижний регистр. – tjscience

+0

Возможный дубликат [Преобразование строки в заголовок с javascript] (http://stackoverflow.com/questions/196972/convert-string-to-title-case-with-javascript) – CharlesB

ответ

2

Вы можете сделать следующее:

var capitalize = function (text) 
{ 
    return text.replace(/\w\S*/g, function (text) { 
     return text[0].toUpperCase() + text.substring(1); 
    }); 
} 

alert(capitalize('the dog ran fast')); 

В отличие от других предложений, это позволит вам сохранить другой капитал буквы в строке. Например, строка «my variable name is coolCat» станет «My Variable Name Is CoolCat».

2

Поскольку вы не указали, почему вы должны сделать это, я хотел бы сделать предположение, что это в основном для отображения текста. Если это так, вы можете пойти на гораздо более простое решение для CSS: text-transform:capitalize - пусть браузер выполнит свою работу!

Кроме этого, мне кажется, что этот вопрос был дан ответ, прежде чем здесь: Convert string to title case with JavaScript

+0

Предыдущий ответ SO изменяет другие заглавные буквы в строка в нижнем регистре, которую OP не хотел. – tjscience

+0

+1 для решения css. – tjscience

Смежные вопросы