如何获取插入值类型

时间:2013-08-04 04:57:11

标签: jquery types

使用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>

2 个答案:

答案 0 :(得分: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);
  });
});

答案 1 :(得分:0)

正如文档非常明确地指出的那样,.type()检索你给它的对象的类型。

输入值始终为字符串。由你决定该字符串是一个数字(可能是isNaN(text)),还是日期(正则表达式可能最好)等等。