Javascript 检查特定格式(时间和日期)
我需要在javascript中测试以下格式(因此我有一个字符串,我必须检查它是否有效) 值必须是由冒号分隔的两个整数,第一个必须是0-23,第二个必须是0-59(时间差不多了) 第二次测试是关于日期的Javascript 检查特定格式(时间和日期),javascript,date,time,Javascript,Date,Time,我需要在javascript中测试以下格式(因此我有一个字符串,我必须检查它是否有效) 值必须是由冒号分隔的两个整数,第一个必须是0-23,第二个必须是0-59(时间差不多了) 第二次测试是关于日期的 DD.MM.YYYY 其中,DD是日、月和年的两位数表示形式,用点分隔。我还可以检查日期是否有效吗?例如,用户无法键入45.02.9999。在这篇文章中,您已经获得了所需的所有Regexp 这是为了时间: ^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:(
DD.MM.YYYY
其中,DD是日、月和年的两位数表示形式,用点分隔。我还可以检查日期是否有效吗?例如,用户无法键入45.02.9999。在这篇文章中,您已经获得了所需的所有Regexp 这是为了时间:
^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$
这是日期:
^(0[1-9]|[12][0-9]|3[01]).([1][0-12]|[0][1-9]).(19|20)\d\d$
您可以在中尝试此regexp,使用两次通过的方法。首先使用正则表达式检查字符串的一般结构,以确保它在正确的位置有正确的分隔符和数字。在第二遍中,您可以使用
indexOf()
查找分隔符,并使用substring()
提取每个位置的数字。然后使用n=str*1
转换成一个数字,并检查范围n>=0&&n,这可以用相当简单的正则表达式来完成
第一个以24小时格式测试时间的是:
/(0[1-9]|1[1-9]|2[1-3]):[0-5][1-9]/.test(yourTime);
/([0-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\.(19[0-9][0-9]|20[0-1][0-9])/.test(yourDate);
第二个测试日期为:
/(0[1-9]|1[1-9]|2[1-3]):[0-5][1-9]/.test(yourTime);
/([0-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])\.(19[0-9][0-9]|20[0-1][0-9])/.test(yourDate);
这将允许截止日期为2019年12月31日。知道每个月有多少天(即1999年2月31日不是有效日期)还不够聪明,但对于大多数目的来说,初始验证应该足够好。使用正则表达式将字符串拆分为其组件,然后用结果填充日期对象以检查有效性。正则表达式无法检查有效性。正则表达式无法捕获无效日期,例如29.02.2011
@Stephen P您听说过与Gregorian兼容的正则表达式吗?:P