我正在使用MaskedEditExtender来输入日期时间。但我无法弄清如何对其进行验证。
是否有用于验证日期和时间MM/dd/yyyy hh:mm的正则表达式?
或者有任何Javascript函数吗?
我正在使用MaskedEditExtender来输入日期时间。但我无法弄清如何对其进行验证。
是否有用于验证日期和时间MM/dd/yyyy hh:mm的正则表达式?
或者有任何Javascript函数吗?
Javascript中有一个名为Date.parse的函数。
它接受格式为mm/dd/yyyy hh:mm:ss
的美国日期格式,在我测试过的所有浏览器中都能正常工作:Firefox、Safari、Chrome和Edge。
console.log(new Date(Date.parse("03/25/2022 12:00")))
将在2011年9月10日中午返回
^(([0]?[1-9]|1[0-2])/([0-2]?[0-9]|3[0-1])/[1-2]\d{3}) (20|21|22|23|[0-1]?\d{1}):([0-5]?\d{1})$
^(([0]?[1-9]|1[0-2])\/([0-2]?[0-9]|3[0-1])\/[1-2]\d{3}) (20|21|22|23|[0-1]?\d{1}):([0-5]?\d{1})$
- kakomaDateTime.Parse
或 DateTime.TryParse
(也有等价的ParseExact
和TryParseExact
)来解析日期时间。如果字符串不表示有效的DateTime
,则无法解析。DateTime myDateTime = DateTime.ParseExact(myString,
"MM/dd/yyyy hh:mm",
CultureInfo.InvariantCulture);
如果您需要正则表达式,可以使用以下内容:
^(0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/(19|20)\d\d ([01]\d|2[0-3]):[0-5]\d$
以下正则表达式:
^([1-9]|([012][0-9])|(3[01]))\/([0]{0,1}[1-9]|1[012])\/([1-2][0-9][0-9][0-9]) [0-2][0-9]:[0-9][0-9]
会得到以下结果:
2021年03月03日 02:12
function ValidateDate(dt) {
try {
var isValidDate = false;
var arr1 = dt.split('/');
var year=0;var month=0;var day=0;var hour=0;var minute=0;var sec=0;
if(arr1.length == 3)
{
var arr2 = arr1[2].split(' ');
if(arr2.length == 2)
{
var arr3 = arr2[1].split(':');
try{
year = parseInt(arr2[0],10);
month = parseInt(arr1[1],10);
day = parseInt(arr1[0],10);
hour = parseInt(arr3[0],10);
minute = parseInt(arr3[1],10);
//sec = parseInt(arr3[0],10);
sec = 0;
var isValidTime=false;
if(hour >=0 && hour <=23 && minute >=0 && minute<=59 && sec >=0 && sec<=59)
isValidTime=true;
else if(hour ==24 && minute ==0 && sec==0)
isValidTime=true;
if(isValidTime)
{
var isLeapYear = false;
if(year % 4 == 0)
isLeapYear = true;
if((month==4 || month==6|| month==9|| month==11) && (day>=0 && day <= 30))
isValidDate=true;
else if((month!=2) && (day>=0 && day <= 31))
isValidDate=true;
if(!isValidDate){
if(isLeapYear)
{
if(month==2 && (day>=0 && day <= 29))
isValidDate=true;
}
else
{
if(month==2 && (day>=0 && day <= 28))
isValidDate=true;
}
}
}
}
catch(er){isValidDate = false;}
}
}
return isValidDate;
}
catch (err) { alert('ValidateDate: ' + err); }
}