/ajax/scripts/string.js
JavaScript | 43 lines | 35 code | 4 blank | 4 comment | 12 complexity | eab924c496db6ca14cf8a8fb495a7a1e MD5 | raw file
- /*==================================================
- * String Utility Functions and Constants
- *==================================================
- */
- String.prototype.trim = function() {
- return this.replace(/^\s+|\s+$/g, '');
- };
- String.prototype.startsWith = function(prefix) {
- return this.length >= prefix.length && this.substr(0, prefix.length) == prefix;
- };
- String.prototype.endsWith = function(suffix) {
- return this.length >= suffix.length && this.substr(this.length - suffix.length) == suffix;
- };
- String.substitute = function(s, objects) {
- var result = "";
- var start = 0;
- while (start < s.length - 1) {
- var percent = s.indexOf("%", start);
- if (percent < 0 || percent == s.length - 1) {
- break;
- } else if (percent > start && s.charAt(percent - 1) == "\\") {
- result += s.substring(start, percent - 1) + "%";
- start = percent + 1;
- } else {
- var n = parseInt(s.charAt(percent + 1));
- if (isNaN(n) || n >= objects.length) {
- result += s.substring(start, percent + 2);
- } else {
- result += s.substring(start, percent) + objects[n].toString();
- }
- start = percent + 2;
- }
- }
-
- if (start < s.length) {
- result += s.substring(start);
- }
- return result;
- };