2013-08-04 35 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

什麼是時間和日期時間 –

+0

Date.parse(str)將處理多種格式。什麼是缺少你將需要代碼 – mplungjan

+0

你的答案是完美的,但現在我想檢查正則表達式模式爲什麼?就像'/ \ d /'這是'數字'/ [az]/- >這是字符串'/ \ d {2} - \ d {2} - \ d {4} /' - >這是日期。 –

0

正如文檔非常清楚地指出的那樣,.type()將檢索您提供的對象的類型。

輸入的值始終是一個字符串。它是由你來確定該字符串是否是一個數字(可能與isNaN(text)),或日期(正則表達式可能是最好的位置)等

+0

這個正則表達式的任何例子? –

+0

@ user2496644不,因爲任何閱讀基本正則表達式教程的人都應該能夠做到這一點。 –