我使用MaskedEditExtender输入日期时间。我无法弄清楚如何验证它。
是否有任何正则表达式用于验证日期以及时间MM / dd / yyyy hh:mm
或任何Javascript函数??
答案 0 :(得分:6)
这将解决您的问题:
^(([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})$
答案 1 :(得分:3)
Javascript有Date.parse
美国格式化日期为mm / dd / yyyy hh:mm:ss
alert(new Date(Date.parse("09/10/2011 12:00")))
将于2011年9月10日中午返回
答案 2 :(得分:2)
使用DateTime.Parse
或DateTime.TryParse
(还有ParseExact
和TryParseExact
等效内容。
如果字符串不代表有效的DateTime
,则不会解析。
DateTime myDateTime = DateTime.ParseExact(myString,
"MM/dd/yyyy hh:mm",
CultureInfo.InvariantCulture);
如果值不可解析,上面将抛出异常。如果您想避免抛出异常的可能性,请使用Try
变体 - 这需要out
参数并测试函数的返回值是否成功。
答案 3 :(得分:2)
如果你想要正则表达式,这应该有效:
^(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$
答案 4 :(得分:0)
您可以尝试使用以“dd / MM / yyyy HH:mm”格式验证日期的功能
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); }
}
答案 5 :(得分:0)
以下正则表达式:
^([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]
给出这个结果:
<块引用>03/03/2021 02:12