Dominias
#programowanie #angular #typescript
Prośba o pomoc z wyrażeniem regularnym. Co tutaj z------m, bo nie działa mi w Validators.pattern()?

^((?:\+27|27)|0)(=72|82|73|83|74|84)(\d{7})$
Docelowo chodzi o numery telefonów z RPA np. +278332762842, 278332762842, 0832762842
0
  • Najlepsze
  • Wszystkie komentarze
s.....e
s.....e
@Dominias: pomijając angulara którego nie znam to regex ostatniego powinien złapać jeśli oczywiście nie masz spacji przed ^.
Pozostałe numery mają 8 cyfr na końcu a nie 7.
0
t.....a
0
Dominias
@szwe: @takija: jest git, poza tym przypadkiem gdzie mam + przed liczbą, jego mi nie łapie ani jak mam :\+27 ani jak mam :\+27
0
s.....e
s.....e
@Dominias: pokaż jak to w kodzie wygląda dokładnie. Może wyeskejpowałeś tego plusa raz albo dwa a potem \d odwrotnie?
0
Dominias
0
Dominias
Ale tu mi też tego nie pokazuje:
0
Ranger
@Dominias: a gdzie 0027? HA TFU! Po co w ogóle takie kombinacje - pozwolić ludziom ładować do bazy w dowolnym formacie, a potem to formatować.
0
Dominias
@Ranger: oni sobie życzą, żeby w--------ć do forma co chcą i na BE sprawdzają ten pattern, jak jest niepoprawny to zwraca error. P------e coś takiego i zwyczajnei validator z patternem do forma chcę dodać tylko coś mi z tym plusem nie trybi..
0
s.....e
s.....e
@Dominias: dobra, teraz widzę, że ci w tym twoim matchuje =72 jako znak równości i 72. W 1 poście podałeś inne dane do testowania a sam testujesz inne.
0
d.....1
@Dominias: Chyba nie do końca ogarniam co potrzebujesz. Masz 7 dwolnych cyfr, które mogą być poprzedzone zerem, liczbą, a przed liczbą może być +. Dobrze zrozumiałem?
0
Dominias
Numer telefonu musi wyglądać tak:
1. początek to albo +27, albo 27 albo 0
2. kolejna jest liczba, jedna z 72|82|73|83|74|84
3. na koniec 7 cyfr

Więc przykładowo coś takiego (ale bez spacji): +27 72 1234567
0
s.....e
s.....e
@Dominias: przecież ci napisałem gdzie jest błąd w tym co wrzuciłeś. Masz =72 które maczujesz dosłownie.
0
d.....1
@Dominias: Czyli dla mnie czytelniejsze byłoby:
^(\+?27|0)(72|82|73|83|74|84)(\d{7})$ no i tak jak wspomniał Ranger 00 zamiast + też mogłoby mieć sens, bo to nadal poprawny numer.
0
Krall
@Dominias: to weź pattern z backendu, żeby było zgodne, albo google phonelib i ustaw kraj na RPA i stricta
0