Javascript 如何区分时间字符串和非时间字符串

Javascript 如何区分时间字符串和非时间字符串,javascript,string,numbers,Javascript,String,Numbers,我需要一个函数来判断字符串是否为时间格式。大致如下: 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(strin

我需要一个函数来判断字符串是否为时间格式。大致如下:

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);

它可能很简单,比如告诉字符串中是否有数字?

您可以使用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


您可以使用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

这是一种方法。虽然很凌乱,但它会起作用的。。。大部分时间:P


这是一种方法。虽然很凌乱,但它会起作用的。。。大部分时间:有几种方法可以做到这一点。。。有些使用常规表达式或其他值检查。。。以下是一些例子:

但我的建议是,根据您的尝试,它不是使用文本框来请求时间,而是使用jquery插件来选择日期和时间,并以这种方式控制输入格式:


有几种方法可以做到这一点。。。有些使用常规表达式或其他值检查。。。以下是一些例子:

但我的建议是,根据您的尝试,它不是使用文本框来请求时间,而是使用jquery插件来选择日期和时间,并以这种方式控制输入格式:


您需要更好地定义您的需求。这里的“时间”是什么?它只是一个时间格式的字符串在这个世界上有很多“时间格式”。你可以有12:00,8:00:23,08:00:23.678,8:0:3pm。。。等等。您需要更好地定义您的需求。这里的“时间”是什么?它只是一个时间格式的字符串在这个世界上有很多“时间格式”。你可以有12:00,8:00:23,08:00:23.678,8:0:3pm。。。但是他的输入总是一个字符串。你为什么问我?我不是OP。不管怎么说,问题的意图很清楚(尽管具体的输入字符串格式不是)。把时间转换成假的日期吧?你能用一个完整的句子吗。再说一次,现在不是我的时间,而是行动的时间。将时间转换为javascript日期,但他的输入总是字符串。你为什么问我?我不是OP。不管怎么说,问题的意图很清楚(尽管具体的输入字符串格式不是)。把时间转换成假的日期吧?你能用一个完整的句子吗。再说一次,现在不是我的时间,而是行动的时间。将时间转换为javascript日期