我正在使用MaskedEditExtender輸入日期時間。我無法弄清楚如何驗證它。如何驗證MM/dd/yyyy hh:mm格式的日期時間?
是否有隨時間MM/DD/YYYY HH一起驗證日期,任何正則表達式:毫米
或任何JavaScript函數?
我正在使用MaskedEditExtender輸入日期時間。我無法弄清楚如何驗證它。如何驗證MM/dd/yyyy hh:mm格式的日期時間?
是否有隨時間MM/DD/YYYY HH一起驗證日期,任何正則表達式:毫米
或任何JavaScript函數?
這將解決您的問題:
^(([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})$
現在它的工作..謝謝.. – Lakshmitha 2011-06-11 06:19:11
再次一個問題,如果我給錯誤的格式顯示錯誤消息,但空的時間它不顯示errormsg .. – Lakshmitha 2011-06-11 06:28:38
@Lakshmitha,我已經更新了我的正則表達式。請嘗試一下,讓我知道如果有任何問題.. – Harun 2011-06-11 07:44:28
使用DateTime.Parse
或DateTime.TryParse
(也有ParseExact
和TryParseExact
等價物)。
如果字符串不代表有效DateTime
它不會解析。
DateTime myDateTime = DateTime.ParseExact(myString,
"MM/dd/yyyy hh:mm",
CultureInfo.InvariantCulture);
如果該值不可解析,則上述操作將拋出異常。如果要避免發生異常,請使用Try
變體 - 這需要參數out
並測試函數的返回值以獲得成功。
JavaScript有Date.parse
它需要美國MM/DD/YYYY HH的格式的日期:MM:SS
alert(new Date(Date.parse("09/10/2011 12:00")))
將返回10日2011年9月中午
而就在如果你想要正則表達式,這應該工作:
^(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$
你可以試試下面,在驗證日期函數 「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); }
}
嘗試從這裏走起來: http://www.regular-expressions.info/dates.html 該網站介紹瞭如何修改正則表達式以滿足您的需求。 – 2011-06-11 05:45:32