2013-05-15 6 views
1

Я хотел был бы подтвердить свой текст, который принимает Академический год как входной сигнал в формате YYYY-YY. Как это сделать для проверки правильности выражения для проверки правильности выражения/jquery?Функция Jquery для проверки

function parseDate() { 
    alert("yeah"); 
    var sAcadYearName = document 
      .getElementById('<%= txtAcademicYearName.ClientID%>'); 
    var m = sAcadYearName.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/); 
    return (m) ? new Date(m[3], m[2] - 1, m[1]) : null; 
} 
+0

Вы используете какой-либо плагин проверки? –

+0

@ Арун нет, я нет. – MusicLovingIndianGirl

+1

В этом случае вам нужно пройти проверку на основе регулярного выражения –

ответ

1

Попробуйте этот код

<input id="txtdob" type="text"/> 

<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ForeColor="Red" 
         ControlToValidate="txtdob" ValidationGroup="check" ErrorMessage="Date format in YYYY-YY" 
         ValidationExpression="^([0-9]{4})[.--]+([0-9]{2})$"></asp:RegularExpressionValidator> 

Eidt:

Просто измените и попробуйте его

<input id="txtdob" runat="server" type="text" /> 

      <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ForeColor="Red" 
       ControlToValidate="txtdob" ValidationGroup="check" ErrorMessage="Date format in YYYY-YY" 
       ValidationExpression="^([0-9]{4})[./-]+([0-9]{2})$"></asp:RegularExpressionValidator> 
      <asp:Button runat="server" ValidationGroup="check" /> 
     </div> 

Или добавьте эту строку, где ваш код!

var m = sAcadYearName.match(^([0-9]{4})[./-]+([0-9]{2})$); 

Это как Validate для:

2013/14 или 2013-14

+0

спасибо. Пожалуйста, проверьте мое решение. – MusicLovingIndianGirl

+0

Это проверка на стороне клиента! если вы используете этот код, страница не обновляется. См. Мой отредактированный код –

+1

Да, спасибо, большое спасибо. – MusicLovingIndianGirl

0

Вы можете создать пользовательскую дату валидатор в JQuery

SEE HERE

0
function parseDate(str) { 
    var m = str.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/); 
    return (m) ? new Date(m[3], m[2]-1, m[1]) : null; 
} 
0

Заканчивать this jQuery validation plugin. В нем есть демонстрации и множество способов фильтрации ввода поля формы. Наслаждайтесь!

+0

Спасибо, приятель, пожалуйста, проверьте мое решение. – MusicLovingIndianGirl

3

Это зависит от того, насколько сложным вы хотите идти, если вы просто хотите для проверки номеров это может быть так же просто, как

\d\d\d\d-\d\d 

, если вы хотите быть в пределах 19X X-YY или 20XX-YY, затем

(\b19|\b20)\d\d-\d\d 

Если вам нужны более конкретные правила (например, 1981-99), и вам нужно написать некоторые пользовательские javascripts для выполнения проверки.

+1

Приветствую вас @cherhan, вы спасли мой день. Он работает ... Спасибо кучу :) – MusicLovingIndianGirl

0

Вот мое решение, я добавил регулярные ecpression валидатор для моего текстового поля, как это.

<asp:RegularExpressionValidator id="txtAcademicYearName_RegularExpressionValidator2" runat="server" ControlToValidate="txtAcademicYearName" ErrorMessage="Enter year in format YYYY-YY" ValidationExpression="(\b19|\b20)\d\d-\d\d" ForeColor="Red" Display="None" ValidationGroup="AcademicYear"></asp:RegularExpressionValidator> 
Смежные вопросы