templates/js/library/StringUtils.js line 1

Open in your IDE?
  1. class StringUtils {
  2.     static getEnding(count, on1Ending, from2to4Ending, from5to9or0Ending) {
  3.         let decimals = count - Math.floor(count / 10) * 10;
  4.         if (count >= 10 && count <= 19) {
  5.             return from5to9or0Ending;
  6.         }
  7.         if (decimals === 1) {
  8.             return on1Ending;
  9.         } else if (decimals >= 2 && decimals <= 4) {
  10.             return from2to4Ending;
  11.         } else {
  12.             return from5to9or0Ending;
  13.         }
  14.     }
  15.     static capitalize(string) {
  16.         return string.charAt(0).toUpperCase() + string.slice(1);
  17.     }
  18.     static escapeRegex(string) {
  19.         if (!isNaN(string)) {
  20.             string = string.toString();
  21.         }
  22.         return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
  23.     }
  24.     static containsEngString(string) {
  25.         const engRegex = /[A-Za-z]/;
  26.         return engRegex.test(string);
  27.     }
  28.     static engKeyboardLayoutToRus(string) {
  29.         const eng = "`qwertyuiop[]asdfghjkl;'zxcvbnm,./~QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?".split('');
  30.         const rus = "ёйцукенгшщзхъфывапролджэячсмитьбю.ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,".split('');
  31.         let result = '';
  32.         for (let char of string) {
  33.             let index = eng.indexOf(char);
  34.             if (index !== -1) {
  35.                 result += rus[index];
  36.             } else {
  37.                 result += char;
  38.             }
  39.         }
  40.         return result;
  41.     }
  42. }