Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.12.2010, 18:18
Новичок на форуме
Отправить личное сообщение для den9000 Посмотреть профиль Найти все сообщения от den9000
 
Регистрация: 06.12.2010
Сообщений: 2

Как определить какого типа данные в строке
В строке могут быть дата, целое число, вещественное число, строке.
Как определить, какого типа данные в строке?
Ответить с цитированием
  #2 (permalink)  
Старый 06.12.2010, 18:21
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

alert(typeof new Date()); //object
alert(new Date() instanceof Date) //true
alert([]['constructor']); //Array (только не использовать в такой нотации)

Последний раз редактировалось monolithed, 06.12.2010 в 18:50.
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2010, 18:33
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

В строке может быть только строка. Как Вы интерпретируете эти данные - это уже Ваше дело.
Ответить с цитированием
  #4 (permalink)  
Старый 06.12.2010, 19:24
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

пробовать сложить содержимое строки с числом. если число не изменилось то в строке не число
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2010, 19:57
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от dmitriymar
если число не изменилось
Результат сложения строки и числа - NaN.
alert([5 + +'5', 5 + +'5.1', 5 + +'Hi!'].join('\n'))
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2010, 21:05
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну хорошо проверять тип у числа через typeof если остаётся числом то число. хотя наверное можно проверять и 2 слагаемое но тут вопрос если оно значение получило от строковой хоть и числовое будет по ходу строка на выходе-значит первый вариант. если первое после сложения число то и второе число
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2010, 09:57
Новичок на форуме
Отправить личное сообщение для den9000 Посмотреть профиль Найти все сообщения от den9000
 
Регистрация: 06.12.2010
Сообщений: 2

Сообщение от B@rmaley.e><e Посмотреть сообщение
В строке может быть только строка. Как Вы интерпретируете эти данные - это уже Ваше дело.
Именно поэтому и возник вопрос. typeof, естественно, всегда возвращает, что строка.
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2010, 10:57
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Проверить на число можно с помощью 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'))

Дату - регулярными выражениями.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить данные в файл? Возможно такое на JavaScript? Forgott Общие вопросы Javascript 35 26.06.2015 19:11
Как сделать функцию типа toDataUrl для рисунка в ie6 ? Олег Общие вопросы Javascript 2 14.09.2008 00:06
Как определить включен ли поддержака объектов ActoveX feodul Events/DOM/Window 5 02.06.2008 12:04
как определить шрифты scuter Общие вопросы Javascript 9 19.05.2008 14:32
как определить позицию элемента относительно окна scuter Events/DOM/Window 5 07.05.2008 18:47