2013-08-04 2 views
2

Использование jQuery .type Я пытаюсь получить тип вставленного значения.
Например, если я введите в текстовое полеКак получить вставленный тип значения

  • 02/10/2012 затем его тип date
  • my test затем его тип string
  • 123 затем его тип number

Это это мой код, но он не получает ожидаемых результатов, только string

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>jQuery.type demo</title> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
    Type <b></b> 
<script> 
$(document).ready(function(){ 
    $('#input').on('blur',function(){ 
    var text = $('input').val(); 
    if(text!==null) { 
     alert(text); 
     var t = jQuery.type(text); 
     alert(t); 
    } 
    else { 
     alert('get'); 
    } 
    }); 
}); 
</script> 
<input type='text' id='input'/> 
</body> 
</html> 
+0

Ну ... какие результаты он дает? –

+0

@Kolink 'string' –

+0

Все входные значения - это строка – mplungjan

ответ

1

Все входные значения строки

Вот начало

Live Demo

function myType(str) { 
    if (str === undefined) return "undefined"; 
    if (str === null) return "null"; 
    if (str.length===0) return "empty string"; 
    if (!isNaN(str) && /\d/.test(str)) return "number"; 
    if (Date.parse(str)) return "parsable date"; 
    return "string"; 
} 
$(document).ready(function(){ 
    $('input').on('blur',function(){ 
    var text =$(this).val(); 
    var t = myType(text); 
    window.console && console.log(text,t); 
    }); 
}); 
+0

и что о времени и времени datetime –

+0

Date.parse (str) будет обрабатывать многие форматы. Что отсутствует, вам нужно будет ввести код – mplungjan

+0

, ваш ответ будет прекрасен, но теперь я хочу проверить шаблон регулярного выражения для чего? например '/ \ d /' это для 'number'/[az]/-> this для строки'/\ d {2} - \ d {2} - \ d {4}/'-> это дата , –

0

Как четко указано в документации, .type() извлекает тип объекта, который вы ему даете.

Значение ввода всегда является строкой. Это до вас, чтобы определить, что строка является ли число (возможно, с isNaN(text)) или дата (регулярное выражение, вероятно, лучше здесь) и т.д.

+0

любой пример для этого регулярного выражения ?? –

+0

@ user2496644 Нет, потому что любой, кто читает основное руководство по регулярному выражению, должен это сделать. –

Смежные вопросы