Как определить какого типа данные в строке
В строке могут быть дата, целое число, вещественное число, строке.
Как определить, какого типа данные в строке? |
alert(typeof new Date()); //object alert(new Date() instanceof Date) //true alert([]['constructor']); //Array (только не использовать в такой нотации) |
В строке может быть только строка. Как Вы интерпретируете эти данные - это уже Ваше дело.
|
пробовать сложить содержимое строки с числом. если число не изменилось то в строке не число
|
Цитата:
alert([5 + +'5', 5 + +'5.1', 5 + +'Hi!'].join('\n')) |
ну хорошо проверять тип у числа через typeof если остаётся числом то число. хотя наверное можно проверять и 2 слагаемое но тут вопрос если оно значение получило от строковой хоть и числовое будет по ходу строка на выходе-значит первый вариант. если первое после сложения число то и второе число
|
Цитата:
|
Проверить на число можно с помощью isNaN:
function isNumber(s){ return !isNaN(s) ? s + ' - число' : s + ' - не число'; } var str1 = '5', str2 = '5.3223', str3 = '5e-1', str4 = '0x32', str5 = '5d'; alert([isNumber(str1), isNumber(str2), isNumber(str3), isNumber(str4), isNumber(str5)].join('\n')) Дату - регулярными выражениями. |
Часовой пояс GMT +3, время: 01:29. |