A complete functional JavaScript function to trim string with specified character while default character is white space. You can also use underscore.string Js.
Trim Function
<script type="text/javascript"> function makeString(object) { if (object == null) return \'\'; return String(object); }; function escapeRegExp(str) { return makeString(str).replace(/([.*+?^=!:${}()|[]/\\])/g, \'\\$1\'); }; function defaultToWhiteSpace(characters) { if (characters == null) return \'\\s\'; else if (characters.source) return characters.source; else return \'[\' + escapeRegExp(characters) + \']\'; }; function ltrim(str, characters) { var nativeTrimLeft = String.prototype.trimLeft; str = makeString(str); if (!characters && nativeTrimLeft) return nativeTrimLeft.call(str); characters = defaultToWhiteSpace(characters); return str.replace(new RegExp(\'^\' + characters + \'+\'), \'\'); }; function trim(str, characters) { var nativeTrim = String.prototype.trim; str = makeString(str); if (!characters && nativeTrim) return nativeTrim.call(str); characters = defaultToWhiteSpace(characters); return str.replace(new RegExp(\'^\' + characters + \'+|\' + characters + \'+$\', \'g\'), \'\'); }; function rtrim(str, characters) { var nativeTrimRight = String.prototype.trimRight; str = makeString(str); if (!characters && nativeTrimRight) return nativeTrimRight.call(str); characters = defaultToWhiteSpace(characters); return str.replace(new RegExp(characters + \'+$\'), \'\'); }; //test function alert(rtrim(\' hi how are you \')+\' \'+ rtrim("_-foobar-_", "_-")); </script>
Here is ouput