Solve a mathematical expression from alternating sides
JavaScript ES6, 105 106

Edit Saved 1 byte thx @Kenney

t=&gt;eval("for(t=[...t],p=o='';c=t.reverse().pop();p=c)o+=p&lt;'0'?(c=='/'|c&lt;'+'||' ')+c:c;eval(p&lt;'0'?o+1:o)")

// Less golfed
t=&gt;{
  for(t = [...t], p = o = '';
      c = t.reverse().pop();
      p = c)
    o += p&lt;'0' 
     ? (c=='/' | c=='*' || ' ')+c  // '1' or ' '
     : c;
  return eval(p&lt;'0' ? o+1 : o)
}


Test snippet



f=t=&gt;eval("for(t=[...t],p=o='';c=t.reverse().pop();p=c)o+=p&lt;'0'?(c=='/'|c&lt;'+'||' ')+c:c;eval(p&lt;'0'?o+1:o)")

console.log=x=&gt;O.innerHTML+=x+'\n'

function test() { console.log(I.value + ' -&gt; '+f(I.value)) }

;['1+1+1+1+1', '1*3/2+4-5', '1+2-3+12-5', '2*2*2*2*2',
  '17/2', '--/-1-2-', '**2*', '++1++', '/2/', '10/' ]
.forEach(t=&gt;console.log(t+' -&gt; '+f(t)))
Your test &lt;input id=I&gt;&lt;button onclick="test()"&gt;-&gt;&lt;/button&gt;
&lt;pre id=O&gt;&lt;/pre&gt;