Moment: تحويل الأرقام العربية إلى أرقام لاتينية كيف يمكنني فعل ذلك؟

تم إنشاؤها على ٢٧ ديسمبر ٢٠١٦  ·  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 التقييمات