Witam
Mam takie zadanie:
Musisz sprawdzić wszystkie nazwy użytkowników w bazie danych. Oto kilka prostych zasad, których użytkownicy muszą przestrzegać, tworząc swoją nazwę użytkownika:
- W nazwach użytkowników można używać wyłącznie znaków alfanumerycznych.
- Jedyne liczby w nazwie użytkownika muszą znajdować się na końcu. Na końcu może być ich zero lub więcej.
- Litery nazwy użytkownika mogą być małe i wielkie.
- Nazwy użytkowników muszą mieć co najmniej dwa znaki. Dwuznakowa nazwa użytkownika może używać wyłącznie liter alfabetu jako znaków.
let username = "JackOfAllTrades";
let userCheck = /change/; // Change this line
let result = userCheck.test(username);
Tu są kolejne warunki:
Your regex should match JACK
Your regex should not match J
Your regex should match Jo
Your regex should match Oceans11
Your regex should match RegexGuru
Your regex should not match 007
Your regex should not match 9
Your regex should not match A1
Your regex should not match BadUs3rnam3
Your regex should match Z97
Rozwiązaniem jest :
const userCheck = /^[a-z]([0-9]{2,}|[a-z]+\d*)$/i;
Mógłby mi ktoś wytłumaczyć całe to wyrażenie ?
Wiem, że:
-aby można było zaznaczać duże i małe litery mamy znacznik i
-$
czyli znajdujemy ostatni wyraz w zdaniu