У меня есть скрипт, который предназначен для различения даты, числа и формата строки.Когда я хотел проверить, является ли пользовательский ввод датой или нет, я столкнулся с редким случаем в программе.
То, что я сделал, чтобы проверить, может ли данная строка быть преобразована в дату, было простым условием.
if(!(new Date(userInputValue)=='Invalid Date'));
{ userInputValue = new Date(userInputValue); }
Скажем, если пользователь вводит данные как 'JS 53'
Код new Date('JS 53')
преобразует ввод строки в Thu Jan 01 1953 00:00:00 GMT+0100 (Central European Standard Time)
Если пользователь вводит данные как '53 JS '
Код new Date('53 JS')
дает Invalid Date
, что я и ожидал.Почему размещение чисел и строк во всей строке имеет значение?