2016-01-25 5 views
1

Я новичок в javascript, поэтому я написал свою первую полезную функцию.Функция Javascript для заглавной буквы первой буквы каждого слова

FUNCTION NAME capFirstLetter() 
Converts the first letter of each word in a string to uppercase. 
Using the the letter "l" as the second function parameter the function will convert only the letter of the first word to uppercase. 

Если у вас есть короткие предложения, пожалуйста, оставьте мне комментарий!

function capFirstLetter(string,capFirstOnly) { 
    var i, c = ""; 

    if (capFirstOnly == "l") { 
     var str = string.toLowerCase().trim(); 
     c = str.charAt(0).toUpperCase() + str.slice(1); 
     return(c); 
    } else {    
     c = string.charAt(0).toUpperCase().trim(); 
     for (i = 1; i < string.length; i++) { 
      if (string.charAt(i) == " ") { 
       c = c + string.charAt(i); 
       c = c + string.charAt(i + 1).toUpperCase(); 
       i++; 
      } else {c = c + string.charAt(i).toLowerCase();} ; 
     }; 

     return(c); 
    }; 
}; 
+0

Кажется, что этот пост принадлежит на http://codereview.stackexchange.com/ – pablochan

+0

Вы должны сначала обрезать, а затем получить первый символ, например 'string.trim(). CharAt (0) .toUpperCase();' иначе он не будет загладить первую букву, если в начале есть пробел. – jcubic

+2

Принадлежит http://codereview.stackexchange.com/. Есть также [* много похожих вопросов с ответами *] (http://stackoverflow.com/search?q=%5Bjavascript%5D+capitalise+words). – RobG

ответ

0

Reg EXPS сделать этот мир лучше :-)

function convert(s,capFirstOnly) {  
    return s.replace(capFirstOnly ? /\b\w/ : /\b\w/g, function(a) {return a.toUpperCase(); }); 
} 
0

Лучше использовать это:

str="Javascript function to capitalize the first letter of each word"; 
    s=str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 
alert(s); 
+1

Код OP использует прописную букву в каждом слове не только первую букву в строке. – jcubic

+0

Я отредактировал свой ответ, пожалуйста, проверьте. – Sinto

+0

Вы только что сделали все это в 3-х строках кода? – user3126564