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