Moment: isValid لا يعمل بشكل صحيح

تم إنشاؤها على ٢٨ أكتوبر ٢٠١٩  ·  4تعليقات  ·  مصدر: moment/moment

صف الخلل
isValid لا يعمل بشكل صحيح

لإعادة إنتاج
خطوات إعادة إنتاج السلوك:
moment('Chicago Illinois 46702').isValid(); // true

سلوك متوقع
يجب أن تكون خاطئة

التعليق الأكثر فائدة

const allPossibleFormats = [
  'D MMMM YYYY',
  'D MMMM YYYY HH:mm',
  'DD-MM-YY',
  'DD-MM-YYYY',
  'DD.MM.YYYY',
  'DD.MM.YYYY HH:mm',
  'DD/MM/YY',
  'DD/MM/YYYY',
  'DD/MM/YYYY HH:mm:ss',
  'HH:mm:ss',
  'M/D/YYYY',
  'D/M/YYYY',
  'MM-DD-YY',
  'MM-DD-YYYY',
  'MM-DD-YYYY HH:mm:ss',
  'MM/DD/YY',
  'MM/DD/YYYY',
  'MM/DD/YYYY HH:mm:ss',
  'MMM D YYYY',
  'MMM D YYYY LT',
  'MMMM Do YYYY',
  'MMMM Do YYYY LT',
  'YYYY-DD-MM HH:mm:ss',
  'YYYY-MM',
  'YYYY-MM-DD',
  'YYYY-MM-DD HH:mm',
  'YYYY-MM-DD HH:mm:ss',
  'YYYY-MM-DD LT',
  'YYYY-MM-DD h:mm:ss A',
  'YYYY-MM-DDTHH:mm:ssZ',
  'ddd, MMM D YYYY LT',
  'dddd D MMMM YYYY HH:mm',
  'dddd, MMMM Do YYYY LT'
];

moment('Chicago Illinois 46702', allPossibleFormats, true).isValid(); // false
moment('18/01/1944', allPossibleFormats, true).isValid(); // true
moment('22-10-2020', allPossibleFormats, true).isValid(); // true
moment('1944-01-18 12:00:00', allPossibleFormats, true).isValid(); // true
moment('2001-01-01 00:00:00', allPossibleFormats, true).isValid(); // true
moment('2001-01', allPossibleFormats, true).isValid(); // true

يمكننا أيضًا توسيع مصفوفة allPossibleFormats وإضافة تنسيقات أخرى للتاريخ / التاريخ والوقت

ال 4 كومينتر

إنه صالح لأنه تم تحويله إلى تاريخ صالح:

new Date('Chicago Illinois 46702'); // Wed Jan 01 46702 00:00:00 GMT+0000 (Greenwich Mean Time)

ومع ذلك ... يجب أن ترى أيضًا تحذيرًا من لحظة:

moment('Chicago Illinois 46702').isValid(); 

في وحدة تحكم JavaScript الخاصة بك:

تحذير الإيقاف: القيمة المقدمة ليست بتنسيق RFC2822 أو ISO معترف به. يعود إنشاء لحظة إلى js Date () ، وهو أمر غير موثوق به عبر جميع المتصفحات والإصدارات. لا ينصح بتنسيقات التاريخ غير RFC2822 / ISO وستتم إزالتها في الإصدار الرئيسي القادم. يرجى الرجوع إلى http://momentjs.com/guides/#/warnings/js -date / لمزيد من المعلومات.

ماذا عن هذا رغم ذلك

moment('22-10-2020', 'dd-MM-yyyy', true).isValid();

إرجاع خطأ.

تعديل
أرى: لحظة ('22 -10-2020 '،' DD-MM-YYYY '، true) .isValid ()؛ يعمل

const allPossibleFormats = [
  'D MMMM YYYY',
  'D MMMM YYYY HH:mm',
  'DD-MM-YY',
  'DD-MM-YYYY',
  'DD.MM.YYYY',
  'DD.MM.YYYY HH:mm',
  'DD/MM/YY',
  'DD/MM/YYYY',
  'DD/MM/YYYY HH:mm:ss',
  'HH:mm:ss',
  'M/D/YYYY',
  'D/M/YYYY',
  'MM-DD-YY',
  'MM-DD-YYYY',
  'MM-DD-YYYY HH:mm:ss',
  'MM/DD/YY',
  'MM/DD/YYYY',
  'MM/DD/YYYY HH:mm:ss',
  'MMM D YYYY',
  'MMM D YYYY LT',
  'MMMM Do YYYY',
  'MMMM Do YYYY LT',
  'YYYY-DD-MM HH:mm:ss',
  'YYYY-MM',
  'YYYY-MM-DD',
  'YYYY-MM-DD HH:mm',
  'YYYY-MM-DD HH:mm:ss',
  'YYYY-MM-DD LT',
  'YYYY-MM-DD h:mm:ss A',
  'YYYY-MM-DDTHH:mm:ssZ',
  'ddd, MMM D YYYY LT',
  'dddd D MMMM YYYY HH:mm',
  'dddd, MMMM Do YYYY LT'
];

moment('Chicago Illinois 46702', allPossibleFormats, true).isValid(); // false
moment('18/01/1944', allPossibleFormats, true).isValid(); // true
moment('22-10-2020', allPossibleFormats, true).isValid(); // true
moment('1944-01-18 12:00:00', allPossibleFormats, true).isValid(); // true
moment('2001-01-01 00:00:00', allPossibleFormats, true).isValid(); // true
moment('2001-01', allPossibleFormats, true).isValid(); // true

يمكننا أيضًا توسيع مصفوفة allPossibleFormats وإضافة تنسيقات أخرى للتاريخ / التاريخ والوقت

يرجى إعادة الفتح إذا كان لا يزال لديك مشاكل.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات