Trim function JavaScript/JScript

pradeep's Avatar author of Trim function JavaScript/JScript
This is an article on Trim function JavaScript/JScript in JavaScript and AJAX.
Rated 5.00 By 2 users
I needed to trim a string and also replace more than one spaces with a single space. The solution was simple with String.replace in JavaScript. Here's the code:

Code: JavaScript
var m = " My name  is Pradeep ";
m = m.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
Making a function out of it.
Code: JavaScript
function trim(str)
{
    if(!str || typeof str != 'string')
        return null;

    return str.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
}
Newbie Member
4May2007,10:22   #2
Parimal's Avatar
great
Contributor
28Nov2007,11:48   #3
urstop's Avatar
Good use of regular expressions, we wish there was a simpler method like vbscript where in we can just use the function trim.
Newbie Member
10Mar2009,08:16   #4
prasanna_gg's Avatar
Hi Pradeep,

Nice solution. Although it could be extended nicely so it works natively in Javascript. JS provides a way to create prototype functions easily.

Here is the code:

Code:
String.prototype.trim = function() {  return this.replace(/^\s+|\s+$/g, '');  }
This method can be called like any in-built javascript function - string.trim() instead of trim(string)!
Banned
23Jun2009,16:03   #5
gkumar's Avatar
Use the code below to make trim a method of all Strings. These are useful to place in a global Javascript file included by all your pages.

Code:
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

// example of using trim, ltrim, and rtrim
var myString = " hello my name is ";
alert("*"+myString.trim()+"*");
alert("*"+myString.ltrim()+"*");
alert("*"+myString.rtrim()+"*");
Javascript Trim Stand-Alone Functions:-If you prefer not to modify the string prototype, then you can use the stand-alone functions below.

Code:
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

// example of using trim, ltrim, and rtrim
var myString = " hello my name is ";
alert("*"+trim(myString)+"*");
alert("*"+ltrim(myString)+"*");
alert("*"+rtrim(myString)+"*");
Team Leader
24Jun2009,10:20   #6
pradeep's Avatar
Nice one gkumar
Newbie Member
2Jul2010,15:23   #7
dubeyparam's Avatar
Good Job
Go4Expert Member
30Sep2010,01:32   #8
Full Zip Hoody's Avatar
it works fine for me both ways. the most important thing is that there is a way of doing this without pretty much effort at all.