Moment: рдЕрд░рдмреА рдирдВрдмрд░реЛрдВ рдХреЛ рд▓реИрдЯрд┐рди рдирдВрдмрд░реЛрдВ рдореЗрдВ рдмрджрд▓реЗрдВ, рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рджрд┐рд╕ре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moment/moment

рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдХреЗ рдЕрд░рдмреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд▓реИрдЯрд┐рди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рдерд╛

      moment.updateLocale('ar', <MomentLanguage>{
        preparse: (str) => {
            return str.replace(/\u200f/g, '');
        },
        postformat: (str) => {
            return str;
        }
      });

рд▓реЗрдХрд┐рди рдЕрдм, MomentLanguage рдкрд▓ рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдкреБрдирд╢реНрдЪ: рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 2.15.2 . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@IbraheemAlSaady рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

const symbolMap = {
        '1': '1',
        '2': '2',
        '3': '3',
        '4': '4',
        '5': '5',
        '6': '6',
        '7': '7',
        '8': '8',
        '9': '9',
        '0': '0'
    };
    const numberMap = {
        '┘б': '1',
        '┘в': '2',
        '┘г': '3',
        '┘д': '4',
        '┘е': '5',
        '┘ж': '6',
        '┘з': '7',
        '┘и': '8',
        '┘й': '9',
        '┘а': '0'
    }
  moment.updateLocale('ar', {
      preparse: function (string) {
          return string.replace(/\u200f/g, '').replace(/[┘б┘в┘г┘д┘е┘ж┘з┘и┘й┘а]/g, function (match) {
              return numberMap[match];
          }).replace(/╪М/g, ',');
      },
      postformat: function(string) {
        return string.replace(/\d/g, function(match) {
          return symbolMap[match];
        }).replace(/,/g, '╪М');
      },
  });

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХрд╛ рдХреЛрдб рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд╣реИ рдирд╛? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬрд┐рд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕реЗ рдЕрднреА Locale рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реБрдХрд╛рд╕ рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдордиреЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдорджрдж рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ.

@IbraheemAlSaady рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

const symbolMap = {
        '1': '1',
        '2': '2',
        '3': '3',
        '4': '4',
        '5': '5',
        '6': '6',
        '7': '7',
        '8': '8',
        '9': '9',
        '0': '0'
    };
    const numberMap = {
        '┘б': '1',
        '┘в': '2',
        '┘г': '3',
        '┘д': '4',
        '┘е': '5',
        '┘ж': '6',
        '┘з': '7',
        '┘и': '8',
        '┘й': '9',
        '┘а': '0'
    }
  moment.updateLocale('ar', {
      preparse: function (string) {
          return string.replace(/\u200f/g, '').replace(/[┘б┘в┘г┘д┘е┘ж┘з┘и┘й┘а]/g, function (match) {
              return numberMap[match];
          }).replace(/╪М/g, ',');
      },
      postformat: function(string) {
        return string.replace(/\d/g, function(match) {
          return symbolMap[match];
        }).replace(/,/g, '╪М');
      },
  });
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Shoroh picture Shoroh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vbullinger picture vbullinger  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dogukankotan picture dogukankotan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alvarotrigo picture alvarotrigo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Delgan picture Delgan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ