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,}/,' ');
}
0
Parimal's Avatar, Join Date: May 2007
Newbie Member
great
0
urstop's Avatar, Join Date: Oct 2007
Contributor
Good use of regular expressions, we wish there was a simpler method like vbscript where in we can just use the function trim.
0
prasanna_gg's Avatar, Join Date: Mar 2009
Newbie Member
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)!
0
gkumar's Avatar
Banned
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)+"*");
0
pradeep's Avatar, Join Date: Apr 2005
Team Leader
Nice one gkumar
0
dubeyparam's Avatar, Join Date: Jul 2010
Newbie Member
Good Job
0
Full Zip Hoody's Avatar, Join Date: Sep 2010
Go4Expert Member
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.