JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" max="40" class="singleSpace" />
JavaScript
var val="";
$('.singleSpace').keyup(function() {
var ele = $(this)[0];
var foo = ele.value;
if(val==foo){return false}
var startPos = ele.selectionStart;
var endPos = ele.selectionEnd;
if(event.keyCode==8){
var diff=endPos-startPos;
startPos-=diff;
endPos-=diff;
}
foo = foo.replace(new RegExp('( )','g'),'');
foo = foo.replace(new RegExp('^ *(.) *(.*?)'),'$1 $2');
val=foo;
ele.value=foo;
ele.selectionStart=startPos;
ele.selectionEnd=endPos;
});