我需要一个能够判断字符串是否为时间格式的函数。这些方面的东西:
var string1 = "Normal String",
string2 = "12:00pm";
function timeOrString(str) {
if (str == A TIME) {
alert('this is a time');
}
else {
alert('this is a normal string');
}
}
timeOrString(string1);
timeOrString(string2);
这可能就像告诉字符串中是否有数字一样简单?
答案 0 :(得分:3)
var string1 = "Normal String",
string2 = "12:00 pm";
function timeOrString(str){
if(new Date("1/1/1900 " + str) != "Invalid Date" && str){
alert("this is a valid time string");
}else{
alert("this is not a valid time string");
}
}
timeOrString(string1);
timeOrString(string2);
这是一种做法。它很乱,但大部分时间都可以工作。 :P
答案 1 :(得分:1)
有几种方法可以做到......有些人使用Regular Expresions进行其他价值检查......以下是一些例子:
http://javascript.internet.com/forms/val-time.html http://www.the-art-of-web.com/javascript/validate-date/ http://www.codeproject.com/KB/scripting/timevalidation.aspx
但是我的推荐,取决于你想要做什么,它不使用文本框来请求时间,而是使用jquery插件来选择日期和时间,并以这种方式控制输入格式:
答案 2 :(得分:0)
您可以使用instanceof和typeof运算符
var theDay = new Date(1995, 11, 17); // Dec. 17, 1995
if (theDay instanceof Date)
{
print("theDay is a Date object");
// whatever else...
}
var myString = new String();
var myDate = new Date();
myString instanceof String; // returns true
myString instanceof Object; // returns true
myString instanceof Date; // returns false
myDate instanceof Date; // returns true
myDate instanceof Object; // returns true
myDate instanceof String; // returns false