2009-10-06 7 views

Répondre

1

vous utilisez jj/mm/aaaa pour valider les dates - vous pouvez utiliser l'objet Date JavaScript afin de valider les dates, mais son plus délicat dans ce cas:

var o = document.form1.date1; // o is a reference to the textbox 
var r = /^(\d+)\/(\d+)\/(\d+)$/.exec(o.value); // extract day, month and year 
if (! r) 
{ 
    // invalid date -- pattern matching failed 
} 
var d = parseInt(r[ 1 ], 10); 
var m = parseInt(r[ 2 ], 10); 
var y = parseInt(r[ 3 ], 10); 
var c = new Date(y, m - 1, d); // month is zero based but year and day are not 
if (isNaN(c)) 
{ 
    // invalid date -- javascript could not make a date out of the three numbers 
} 
+1

Vous devriez utiliser l'argument radix de la fonction parseInt, vous pourriez avoir des problèmes * spécialement * avec * date partie * nombres qui ont des zéros précédents, par exemple: 'parseInt ('08 ') == 0'. Le zéro précédent indique à parseInt que le nombre étant analysé est un nombre octal, vous devriez utiliser 'parseInt (n, 10)'. – CMS

2

Si vous utilisez WebForms, il suffit d'utiliser un CompareValidator:

<asp:CompareValidator runat="server" ControlToValidate="txtInput" Type="Date" 
Operator="DataTypeCheck" ErrorMessage="That's not a valid date!" /> 
+0

Exactement ce que je cherchais , été si longtemps Depuis que j'ai fait ASP.NET je ne pouvais pas me souvenir de la propriété Operator. Merci! –

Questions connexes