Advertisement
stuppid_bot

string.js

Sep 6th, 2014
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function trim(s) {
  2.     return typeof s.trim != 'undefined' ? s.trim() : s.replace(/^\s+|\s+$/g, '');
  3. }
  4.  
  5. function ltrim(s) {
  6.     return typeof s.ltrim != 'undefined' ? s.ltrim() : s.replace(/^\s+/, '');
  7. }
  8.  
  9. function rtrim(s) {
  10.     return typeof s.rtrim != 'undefined' ? s.rtrim() : s.replace(/\s+$/, '');
  11. }
  12.  
  13. function wrap(s, w, br) {
  14.     w = w || 80;
  15.     if (s.length <= w) {
  16.         return s;
  17.     }
  18.     br = br || '\n';
  19.     // /(.{1,80})[\t\r\x20]+|(.{1,80})/g
  20.     var re = new RegExp('(.{1,' + w + '})[\\t\\r\\x20]+|(.{1,' + w + '})', 'g');
  21.     s = s.split('\n');
  22.     for (var i = 0; i < s.length; ++i) {
  23.         if (s[i].length > w) {
  24.             s[i] = s[i].match(re).map(function (v) {
  25.                 return rtrim(v);
  26.             }).join(br);
  27.         }
  28.     }
  29.     return s.join('\n');
  30. }
  31.  
  32. function startsWith(haystack, needle) {
  33.     return needle == haystack.substr(0, needle.length);
  34. }
  35.  
  36. function endsWith(haystack, needle) {
  37.     return needle == haystack.substr(-needle.length);
  38. }
  39.  
  40. function containsStr(haystack, needle) {
  41.     return haystack.indexOf(needle) >= 0;
  42. }
  43.  
  44. function randStr(len, chars) {
  45.     var ret = '';
  46.     chars = chars || '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
  47.     while (ret.length < len) {
  48.         ret += chars.charAt(Math.random() * chars.length);
  49.     }
  50.     return ret;
  51. }
  52.  
  53. function ucfirst(s) {
  54.     return s.charAt(0).toUpperCase() + s.substr(1);
  55. }
  56.  
  57. function capitalize(s) {
  58.     return s.replace(/\b[a-z]/g, function (c) {
  59.         return c.toUpperCase();
  60.     });
  61. }
  62.  
  63. function reverseStr(s) {
  64.     return s.split('').reverse().join('');
  65. }
  66.  
  67. function repeatStr(s, n) {
  68.     return Array(++n).join(s);
  69. }
  70.  
  71. function lpad(s, l, c) {
  72.     if (s.length >= l) return s;
  73.     c = c || ' ';
  74.     while (s.length < l) {
  75.         s = c + s;
  76.     }
  77.     return s.length > l ? s.substr(0, l) : s;
  78. }
  79.  
  80. function rpad(s, l, c) {
  81.     if (s.length >= l) return s;
  82.     c = c || ' ';
  83.     while (s.length < l) {
  84.         s += c;
  85.     }
  86.     return s.length > l ? s.substr(0, l) : s;
  87. }
  88.  
  89. function center(s, l, c) {
  90.     if (s.length >= l) return s;
  91.     c = c || ' ';
  92.     l -= s.length;
  93.     l /= 2;
  94.     var repeater = repeatStr(c, Math.ceil(l / c.length));
  95.     return repeater.substr(0, Math.floor(l)) + s + repeater.substr(0, Math.ceil(l))
  96. }
  97.  
  98. function escapeRe(s) {
  99.     return s.replace(/([-.\\+*?[^\]$(){}=!<>|:])/g, '\\$1');
  100. }
  101.    
  102. function addSlashes(s) {
  103.     return s.replace(/([\\'"])/g, '\\$1');
  104. }
  105.  
  106. function stripSlashes(s) {
  107.     return s.replace(/\\([\\'"])/g, '$1');
  108. }
  109.  
  110. function encodeHtml(s) {
  111.     return s.replace(/[<>&"']/g, function (c) {
  112.         return  {
  113.             '<': '&lt;',
  114.             '>': '&gt;',
  115.             '&': '&amp;',
  116.             '"': '&quot;',
  117.             "'": '&#39;'
  118.         }[c];
  119.     });
  120. }
  121.  
  122. function decodeHtml(s) {
  123.     var el = document.createElement('div');
  124.     s = s.replace('<', '&lt;');
  125.     s = s.replace('>', '&gt;');
  126.     el.innerHTML = s;
  127.     return el.textContent;
  128. }
  129.  
  130. function encodeEntities(s) {
  131.     var r = '';
  132.     for (var i = 0; i < s.length; ++i) {
  133.         r += '&#' + s.charCodeAt(i) + ';';
  134.     }
  135.     return r;
  136. }
  137.  
  138. function stripTags(s) {
  139.     return s.replace(/<[\s\S]+?>/g, '');
  140. }
  141.  
  142. function template(s, o) {
  143.     return s.replace(/\{(.*?)\}/g, function (m, v) {
  144.         var ks = v.split('.'), r = o;
  145.         for (var i = 0; i < ks.length; ++i) {
  146.             r = r[ks[i]];
  147.         }
  148.         return r;
  149.     });
  150. }
  151.  
  152. function format(s) {
  153.     var arg = toArray(arguments).slice(1);
  154.     return s.replace(/\{(\d+)\}/g, function (match, index) {
  155.         if (index >= arg.length) {
  156.             throw new Error('Index out of range');
  157.         }
  158.         return arg[index];
  159.     });
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement