2016-09-05 79 views
0

我試圖檢測哪個單詞是一個名稱,並大寫它的第一個字母。下面是我試過的代碼:如何製作特定單詞的首字母大寫?

else if (splitInput[i].match(/a|e|i|o|u/)){ 
     i = 0; 
     var up = input.indexOf("ben"); 
     up = up + 4; 
     console.log("toUpperCase: " + up); 
     i = slotBen + 1; 
     var toUp = input.charAt(up); 
     console.log("Before uppercase: " + toUp); 
     var afUp = toUp.toUpperCase(); 
     //input.charAt(up).replace(toUp, afUp); 
     console.log("After toUpperCase: " + afUp); 
     //input.replace(toUp, afUp); 
     console.log(input); 
     bubbleR.innerHTML = input; 
     console.log('slotBen:', slotBen); 

     userID.name = splitInput[i]; 

也許有點太複雜了,但我不能讓它工作,或者更容易閱讀/理解。如果你運行這個函數,它確切地知道它需要使用哪個字母,但它不會在input中替換它。這裏有一個codepen

文本是在荷蘭,但不介意:)

編輯:有建議,試試這個:

var capitalized = splitInput[i].toUpperCase() + input.substr(1); 

與我是i = slotBen + 1;,但是事實並非如此工作。我認爲我確實實施了,但我不確定。嘗試了不同的組合,沒有一個能夠解決。

+0

你可能想後和前「奔」,因爲現在,它會大寫「奔」(這將導致話良性外出時資本爲好)的任何次數增加空間 – Roberrrt

+0

什麼是'slotBen'?無論如何,JS字符串是不可變的;你不能「替換」字符。你必須創建一個新的字符串。 'replace'不會替換現有字符串中的字符;它會使用指定的替換創建一個NEW字符串。如果你閱讀文檔,這應該都很清楚。更一般地說,搜索「在JavaScript中使用大寫字母」應該會引發大量的方法。 –

+0

CSS會成爲一個選項嗎?有一個文本轉換:大寫; – moefinley

回答

0

首字母大寫的方法。試一試。

//forFirstLetter 
 
function capitalize(string) { 
 
    return string.charAt(0).toUpperCase() + string.slice(1); 
 
} 
 

 
console.log(capitalize("demo"))

+0

它可以選擇單詞,但不會大寫單詞。 –