Mercurial > hg > extraction-interface
comparison geotemco/lib/simile/ajax/scripts/string.js @ 0:b12c99b7c3f0
commit for previous development
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 19 Jan 2015 17:13:49 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:b12c99b7c3f0 |
---|---|
1 /*================================================== | |
2 * String Utility Functions and Constants | |
3 *================================================== | |
4 */ | |
5 | |
6 String.prototype.trim = function() { | |
7 return this.replace(/^\s+|\s+$/g, ''); | |
8 }; | |
9 | |
10 String.prototype.startsWith = function(prefix) { | |
11 return this.length >= prefix.length && this.substr(0, prefix.length) == prefix; | |
12 }; | |
13 | |
14 String.prototype.endsWith = function(suffix) { | |
15 return this.length >= suffix.length && this.substr(this.length - suffix.length) == suffix; | |
16 }; | |
17 | |
18 String.substitute = function(s, objects) { | |
19 var result = ""; | |
20 var start = 0; | |
21 while (start < s.length - 1) { | |
22 var percent = s.indexOf("%", start); | |
23 if (percent < 0 || percent == s.length - 1) { | |
24 break; | |
25 } else if (percent > start && s.charAt(percent - 1) == "\\") { | |
26 result += s.substring(start, percent - 1) + "%"; | |
27 start = percent + 1; | |
28 } else { | |
29 var n = parseInt(s.charAt(percent + 1)); | |
30 if (isNaN(n) || n >= objects.length) { | |
31 result += s.substring(start, percent + 2); | |
32 } else { | |
33 result += s.substring(start, percent) + objects[n].toString(); | |
34 } | |
35 start = percent + 2; | |
36 } | |
37 } | |
38 | |
39 if (start < s.length) { | |
40 result += s.substring(start); | |
41 } | |
42 return result; | |
43 }; |