使用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 :(得分: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);
});
});
答案 1 :(得分:0)
正如文档非常明确地指出的那样,.type()
检索你给它的对象的类型。
输入值始终为字符串。由你决定该字符串是一个数字(可能是isNaN(text)
),还是日期(正则表达式可能最好)等等。