Выход IE11 Intl.DateTimeFormat не будет соответствовать регулярному выражению - PullRequest
1 голос
/ 02 апреля 2020

Это и вопрос, и ответ, так что в следующий раз, когда я столкнусь с этой ошибкой и Google для ответа, я найду его здесь.

Вывод

Intl.DateTimeFormat('en-US', {
  year: 'numeric',
  month: 'numeric',
  day: 'numeric',
  hour: 'numeric',
  minute: 'numeric',
  second: 'numeric',    
})

Это похоже на 3/7/2020 6:43:00 AM в IE11. Это выглядит как это регулярное выражение (пожалуйста, не судите мои навыки регулярных выражений):

/:[0-9]{2}:[0-9]{2}/g

Должно совпадать с частью :43:00, как и в других браузерах. Но это не в IE11. Что дает?

1 Ответ

0 голосов
/ 02 апреля 2020

Вывод из IE11 содержит невидимые маркеры слева направо (\u200E), вызывающие несоответствие регулярного выражения.

Моим решением было сначала удалить их, прежде чем пытаться что-либо сделать со строкой:

myDateTimeStr.replace(/\u200E/g, '')

Я получил подсказку из этого отчёта о проблеме оact-intl .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...