5 回答
TA贡献1786条经验 获得超11个赞
将它视为类似数组的对象来获取第一个字符,将其大写,然后concat将其视为字符串的其余部分:
const str = "hello World!";
const upper = ([c, ...r]) => c.toUpperCase().concat(...r);
console.log(upper(str));
TA贡献1998条经验 获得超6个赞
你可以charAt用来获得第一个字母:
const string = "stackoverflow is helpful."
const capitalizedString = string.charAt(0).toUpperCase() + string.slice(1)
console.log(capitalizedString)
TA贡献1887条经验 获得超5个赞
你不想使用替换,也不想使用string[0]。相反,使用下面的小方法
const s = 'foo bar baz';
function ucFirst(str) {
return str.substr(0, 1).toUpperCase() + str.substr(1);
}
console.log(ucFirst(s));
TA贡献1866条经验 获得超5个赞
既然你似乎想知道这里有一个详细的例子:
function FistWordFirstCharcterCapital() {
let text = document.getElementById("TextInput").value;
let firstSpaceIndex = text.indexOf(" ")!=-1 ? text.indexOf(" ")+1:text.length;
let firstWord = text.substr(0, firstSpaceIndex);
let firstWordUpper = firstWord.charAt(0).toUpperCase() + firstWord.slice(1)
document.getElementById("TextInput").value = firstWordUpper + text.substr(firstSpaceIndex);;
}
<textarea autocomplete="off" cols="30" id="TextInput" name="message" rows="10" style="width: 100%;">
</textarea>
<input id="FistWordFirstCharcterCapital" onclick="FistWordFirstCharcterCapital()" style="color: black;" type="button" value="First word first character capital!" />
添加回答
举报