Here you can find the source of trim()
String.prototype.trim = function() { return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,""); }
String.prototype.trim = function () { return this.replace(/^\s+/, ""); };
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };
String.prototype.trim = function () { return this.replace(/^\s+|\s+$/, ""); };
String.prototype.trim = function() return this.replace(/(^\s*)|(\s*$)/gi, ""); };
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, '');
String.prototype.trim = function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); };
String.prototype.trim = function(){ return /^\s*([\d\D]*?)\s*$/.exec(this)[1]; };
String.prototype.trim = function() { var trimmed = this.replace(/^\s+|\s+$/g, ""); return trimmed; };
String.prototype.trim = function(){ return this.replace(/(^\s*)|(\s*$)/g, "");