Имам нужда от помощ с javascript regex, защото не мога да го разбера. Регетото се нуждае от следните критерии:
- Минимум 3 символа
- Максимум 40 знака
- Съдържа само букви, числа празно (без нов ред и други знаци като?, _, ...)
- Може да съдържа само 1 *, но след 3 знака
Ето някои тестови данни:
- Аз съм някои testdata -> ОК
- Аз съм * някои testdata -> ОК
- Аз съм някои testdata -> NOK (* след 3 символа)
- Аз съм * някои * testdata -> NOK (0 или 1 пъти а *)
- Аз съм някои testdata и аз съм много по-дълъг от максималния -> NOK (за дълго)
- AB -> NOK (не достатъчно дълго)
Тъй като не съм професионалист в създаването на реге, това е, което събрах досега (но не мога да ги събера):
- / [^ Sn] / -> Само празно пространство и няма нов ред
- / [w] / -> Word характер
- {3,40} -> Между 3 и 40 знака
Отговори:
2 за отговор № 1Този регекс трябва да работи за вас при всички условия:
^(?!.{1,2}?*)(?!(?:.*?*){2})[w .?*,]{3,40}$
Онлайн демонстрация: http://regex101.com/r/eJ3aF7
2 за отговор № 2
/^(?=.{,40}$)[A-Za-z0-9s]{3,}*?[A-Za-z0-9s]*$/