Removing extra spaces from user input I want to take user input strings and add them together with proper spacing.

HTML:

&lt;head&gt;
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="script.js"&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;input id="input" type="text" placeholder="Words Go Here"&gt;&lt;/input&gt;
&lt;button id="addWords"&gt;Add Words&lt;/button&gt;
&lt;div id="output"&gt;&lt;/div&gt;
&lt;/body&gt;


JavaScript:

(function () {

 $('#addWords').on('click', addWords);

 function addWords() {

    var value = $('#input').val();
    var firstChar = value.charAt(0);
    var lastChar = value.slice(-1);

     if ((/^[a-zA-Z\s]*$/.test(value)) &amp;&amp; (value !== '')) {

         if (firstChar == ' ' &amp;&amp; lastChar == ' ') {

            value = value.trimLeft().trimRight();

         } else if (firstChar == ' ') {

            value = value.trimLeft();

         } else if (lastChar == ' ') {

            value = value.trimRight();

         } else {

            value = value;
        }

        $('#output').append($('&lt;span&gt;&lt;/span&gt;').text(value + ' '));

     } else {

        alert('Please use characters only.');

     }
 }

})();


Example:

JSFiddle

Is there a less-bulky (e.g. multiple if elses) method for stripping away additional spaces?
If I'm not misunderstanding the intent of your script you don't need the if elses at all.

For starters not having a space to trim when calling trim(Right or Left) is not a problem. No errors are thrown. So you could just do this:

function addWords() {
    var value = $('#input').val();

    if ((/^[a-zA-Z\s]*$/.test(value)) &amp;&amp; (value !== '')) {
        value = value.trimLeft().trimRight();
        $('#output').append($('&lt;span&gt;&lt;/span&gt;').text(value + ' '));
    } else {
        alert('Please use characters only.');
    }
}


For simplicities sake instead of value.trimLeft().trimRight() you can just use value.trim().

Edit: Also as Dagg pointed out(see comments below) String.prototype.trimLeft() and String.prototype.trimRight() are non-standard but String.prototype.trim() is in the spec's for ES5.