2012-01-18 23 views
13

Byłoby wspaniale, gdyby ktoś mógł mi pomóc z Regex na numery telefonów. Są następujące warunki:C# Regex do sprawdzania numeru telefonu

  • + Jeśli jest obecny, to powinno być pierwszym znakiem
  • Dozwolone znaki to liczby() przestrzeni -.
  • Minimum 6 numerów i max 12
  • (,) i przestrzeń może przyjść w dowolnym miejscu w ciągu
  • - nie powinien być pierwszy i ostatni znak i nie powinien pojawić się natychmiast po +, + jeśli jest obecny .

Oto niektóre ważne numery:

  • +93483227359
  • +1 703 335 65123
  • 001 (703) 332-6261
  • +1703.338.6512
  • + 934-83227359
  • (111)123-4567
  • 111-123-4567

góry dzięki

+0

Aby sprawdzić, czy na pewno chcesz "+) -) -) 333 (((, 111" być prawidłowym numerem telefonu? –

+0

@JonSkeet dobrze, jestem prawie pewna 'tel: +) -) -) 333 (((, 111 'jest poprawnym tel URI, więc można by argumentować, że jeśli jest wystarczająco dobre dla RFC 3966 to ... :) Byłbym bardziej zmartwiony, że minimalna i maksymalna liczba cyfr jest międzynarodowa –

+0

Rzeczywiście, moja własna to 12 cyfr po znaku +, więc jeśli zostanie podana w formie lokalnej dla danego kraju, będzie miała długość co najmniej 13 cyfr .. –

Odpowiedz

20

Spróbuj z:

^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$ 

Jednak nie obsługuje liczba liczenie

+0

@PabitraDash To jest to, co napisałem. – hsz

+0

Niestety, usunąłem już mój komentarz. –

Powiązane problemy