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>
4

2 回答 2

1

所有输入值都是字符串

这是一个开始

现场演示

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);
  });
});
于 2013-08-04T05:06:41.143 回答
0

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

输入的值始终是字符串。由您决定该字符串是数字(可能带有isNaN(text))还是日期(正则表达式在这里可能是最好的)等。

于 2013-08-04T05:06:01.843 回答