2015-01-15 2 views
-1

Я хочу, чтобы пользователь мог вводить только мобильный/телефонный номер в указанном формате.Я хочу, чтобы Regex подтвердил номер мобильного телефона и телефона в указанном формате

+1234567891> когда + используется точное после того, как плюс пользователь не может ввести 0 или 00, а также если + используется после + только 10 - 14 цифр.

> когда пользователь вводит единый 0, то пользователь должен ввести 10 цифр только после того, как 0.

0> когда пользователь вводит двойной 00, то после этого пользователь не может войти в третье 0 точное после двукратного 00, а также пользователь должен ввести 10 до 14 цифр после двойного 00.

Мой код - это любой, кто может мне помочь?

string mob = txtmobile.Text.Trim(); 
Regex plus = new Regex("^[+]?<!(0|00)[0-9]{10,14}$"); 
Regex zero = new Regex("^[0]{1}[0-9]{10}$"); 
Regex zeroes = new Regex("^[0]{2}[^0][0-9]{10,14}$"); 

     if (!plus.IsMatch(mob)) 
     { 
      if (!zero.IsMatch(mob)) 
      { 
       if (!zeroes.IsMatch(mob)) 
       { 
        lblmobile.Text = "*Mobile number must be correct format"; 
        lblmobile.Visible = true; 
        flg = false; 
       } 
      } 
     } 
+1

Какая помощь вам нужна? – zerkms

ответ

0

Общая проблема с вашей моделью является то, что в том, что они позволяют нули должны быть введены во всех случаях. Давайте возьмем пример ^[+]?<!(0|00)[0-9]{10,14}$ - вы сообщаете двигатель это:

  • матча на «+» знак
  • утверждает, что сразу есть не ноль или двойной ноль
  • матча 10 до 14 цифры включая нулевой

Вы должны изменить шаблоны таким образом:

  • для plus правило: ^[+][1-9][0-9]{9,13}$; это переводится: «матч плюс знак, цифру от 1 до 9, после и 9 до 13 цифр от 0 до 9»
  • для нулевой правила: ^0[1-9][0-9]{9}$
  • для нулей правила: ^00[1-9][0-9]{9,13}$

Кстати, пример для zeroes правило недействительно; есть только 9 цифр после 00.

0

Попробуйте следующее: \+0[0-9]{9}|\+0[1-9][0-9]{12}|0[1-9][0-9]{8}|00[1-9][0-9]{9}|00[1-9][0-9]{13}.

Или это: \+0\d{9}|\+0[1-9]\d{12}|0[1-9]\d{8}|00[1-9]\d{9}|00[1-9]\d{13}

+0

Нет, это не работает и дает ошибку – Muryali

+0

Обновить, попробуйте еще раз. – ShellFish

Смежные вопросы