У меня есть текстовое поле для ввода date.Textbox следует разрешить только дд/мм/гггг format.How может я проверить его с помощью JavaScriptкак проверить формат DATETIME
0
A
ответ
1
вы используете дд/мм/гггг для проверки даты - вы можете использовать объект даты JavaScript для проверки даты, но его сложнее в этом случае:
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
}
2
Если вы используете WebForms, просто использовать CompareValidator:
<asp:CompareValidator runat="server" ControlToValidate="txtInput" Type="Date"
Operator="DataTypeCheck" ErrorMessage="That's not a valid date!" />
+0
Именно то, что я искал , так долго ince Я сделал ASP.NET, я не мог вспомнить свойство Operator. Благодаря! –
Вы должны использовать аргумент radix функции parseInt, у вас могут быть проблемы * специально * с номерами * даты *, которые имеют предшествующие нули, например: 'parseInt ('08 ') == 0'. Предыдущий нуль указывает на parseInt, что число, которое обрабатывается, является восьмеричным числом, вы должны использовать 'parseInt (n, 10)'. – CMS