Проверка регулярного выражения в asp.net отображение сообщения об ошибке, даже если номер телефона указан правильно

#javascript #jquery #asp.net

#javascript #jquery #asp.net

Вопрос:

 function regex() {
  var regex = new RegExp(/^(009665|9665| 9665|05|5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$/);
  regex.test('0501234567'); // return true;
  regex.test('0521234567'); // return false; 
}
 regex()  
 <div class="newAcc">
  <asp:TextBox ID="phone" runat="server" CssClass="phone" value=" 966" placeholder=" 966"></asp:TextBox>
  <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="يرجى كتابة رقم هاتف صحيح" CssClass="errorMassege" ControlToValidate="phone" ForeColor="#CC1007" ValidationExpression="/^(009665|9665| 9665|05|5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$/"
    display="Dynamic"></asp:RegularExpressionValidator>
</div>  

регулярное выражение работает правильно, и ошибка массажа отображается, даже если номер телефона указан правильно, в чем проблема с моим кодом? Также я добавил файл javascript и jQuery в начало, но это не принесло пользы..что я могу сделать, пожалуйста, помогите мне?

Комментарии:

1. куда я могу поместить первый код? я поместил это в файл javascript, а затем связал файл с asp.net файл, но не сработал ;

Ответ №1:

/ в начале и конце регулярного выражения — это специфичный для JavaScript синтаксис, указывающий, что это регулярное выражение.

В Asp.NET средство проверки вашего выражения должно быть ValidationExpression="^(009665|9665| 9665|05|5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$"

Обратите внимание, что я удалил / в начале и конце выражения.