He had the right solution
Yours doesn't take into account for more numbers (as you said so yourself)
This should work, in red are the changes:
code:
var reg_exp = /([0-9*/+\-()]+)/gi;
//brackets indicate a set of characters, you don't need to escape anything in here except for the minus sign, which would indicate a range of characters
document.write(Messege.replace(reg_exp,"[$1]"));
Especialy the little plus at the end of the RegExp is important because it indicates that it need one or more matches..., instead of the asterisk which indicates zero or more matches, so in this case, every single character. That's why you had that problem...
If you have any further question or want something explained, just PM me