text.replace(/(^w|sw)/g, m => m.toUpperCase());
// Explanation:
//
// ^w : first character of the string
// | : or
// sw : first character after whitespace
// (^w|sw) Capture the pattern.
// g Flag: Match all occurrences.
// Example usage:
// Create a reusable function:
const toTitleCase = str => str.replace(/(^w|sw)/g, m => m.toUpperCase());
// Call the function:
const myStringInTitleCase = toTitleCase(myString);
function titleCase(str) {
var splitStr = str.toLowerCase().split(' ');
for (var i = 0; i < splitStr.length; i++) {
// You do not need to check if i is larger than splitStr length, as your for does that for you
// Assign it back to the array
splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
}
// Directly return the joined string
return splitStr.join(' ');
}
document.write(titleCase("I'm a little tea pot"));
first letter of each word in a sentence to uppercase javascript
function capitalizeTheFirstLetterOfEachWord(words) {
var separateWord = words.toLowerCase().split(' ');
for (var i = 0; i < separateWord.length; i++) {
separateWord[i] = separateWord[i].charAt(0).toUpperCase() +
separateWord[i].substring(1);
}
return separateWord.join(' ');
}
console.log(capitalizeTheFirstLetterOfEachWord("my name is john"));
// includeAllCaps is optional and defaults to false
// if includeAllCaps is set to true, it will Title Case words with all capital letters
// includeMinorWords is optional and defaults to false
// if includeMinorWords is set to true, it will minor words in the middle of the string
function toTitleCase(str, includeAllCaps, includeMinorWords) {
includeAllCaps = (includeAllCaps ? (includeAllCaps == true ? true : false) : false);
includeMinorWords = (includeMinorWords ? (includeMinorWords == true ? true : false) : false);
var i, j, lowers;
str = str.replace(/([^W_]+[^s-]*) */g, function (txt) {
if (!/[a-z]/.test(txt) && /[A-Z]/.test(txt) && !includeAllCaps) {
return txt;
} else {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
});
if (includeMinorWords) {
return str;
} else {
// Certain minor words should be left lowercase unless
// they are the first or last words in the string
lowers = ['A', 'An', 'The', 'And', 'But', 'Or', 'For', 'Nor', 'As', 'At',
'By', 'For', 'From', 'In', 'Into', 'Near', 'Of', 'On', 'Onto', 'To', 'With'
];
for (i = 0, j = lowers.length; i < j; i++)
str = str.replace(new RegExp('s' + lowers[i] + 's', 'g'),
function (txt) {
return txt.toLowerCase();
});
return str;
}
}
toTitleCase("FOO bar"); // FOO Bar
toTitleCase("FOO bar", true); // Foo Bar
toTitleCase("a foo bar"); // A Foo Bar
toTitleCase("a foo in bar"); // A Foo in Bar
toTitleCase("foo of bar"); // Foo of Bar
toTitleCase("foo of bar", false, true); // Foo Of Bar