regex capitalize first letter of each word javascript code example

Example 1: js capitalize first letter of each word

const titleCase = title => title
    .split(/ /g).map(word =>
        `${word.substring(0,1).toUpperCase()}${word.substring(1)}`)
    .join(" ");

Example 2: javascript capitalize first letter of each word

// 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

Example 3: capitalize first letter of each word javascript

const titleCase = function(text) {
  let newText = '';
  text = text.toLowerCase();
  text = text.charAt(0).toUpperCase() + text.slice(1);
  for (let i = 0; i < text.length; i++) {
    if (text[i] === ' ') {
      newText += ' ' + text[i+1].toUpperCase();
      i++;
    } else {
      newText += text[i];
    }
  }
  return newText;
}