vitro/webapp/web/src/string/common.js

88 lines
1.9 KiB
JavaScript
Raw Normal View History

/*
Copyright (c) 2004-2006, The Dojo Foundation
All Rights Reserved.
Licensed under the Academic Free License version 2.1 or above OR the
modified BSD license. For more information on Dojo licensing, see:
http://dojotoolkit.org/community/licensing.shtml
*/
dojo.provide("dojo.string.common");
dojo.require("dojo.string");
/**
* Trim whitespace from 'str'. If 'wh' > 0,
* only trim from start, if 'wh' < 0, only trim
* from end, otherwise trim both ends
*/
dojo.string.trim = function(str, wh){
if(!str.replace){ return str; }
if(!str.length){ return str; }
var re = (wh > 0) ? (/^\s+/) : (wh < 0) ? (/\s+$/) : (/^\s+|\s+$/g);
return str.replace(re, "");
}
/**
* Trim whitespace at the beginning of 'str'
*/
dojo.string.trimStart = function(str) {
return dojo.string.trim(str, 1);
}
/**
* Trim whitespace at the end of 'str'
*/
dojo.string.trimEnd = function(str) {
return dojo.string.trim(str, -1);
}
/**
* Return 'str' repeated 'count' times, optionally
* placing 'separator' between each rep
*/
dojo.string.repeat = function(str, count, separator) {
var out = "";
for(var i = 0; i < count; i++) {
out += str;
if(separator && i < count - 1) {
out += separator;
}
}
return out;
}
/**
* Pad 'str' to guarantee that it is at least 'len' length
* with the character 'c' at either the start (dir=1) or
* end (dir=-1) of the string
*/
dojo.string.pad = function(str, len/*=2*/, c/*='0'*/, dir/*=1*/) {
var out = String(str);
if(!c) {
c = '0';
}
if(!dir) {
dir = 1;
}
while(out.length < len) {
if(dir > 0) {
out = c + out;
} else {
out += c;
}
}
return out;
}
/** same as dojo.string.pad(str, len, c, 1) */
dojo.string.padLeft = function(str, len, c) {
return dojo.string.pad(str, len, c, 1);
}
/** same as dojo.string.pad(str, len, c, -1) */
dojo.string.padRight = function(str, len, c) {
return dojo.string.pad(str, len, c, -1);
}