Тұрақты өрнектер — ботқа пайдаланушы енгізуінің пішімін тексеруге мүмкіндік беретін үлгілер, мысалы, енгізілген мәліметтің телефон нөмірі екенін анықтау.

Тұрақты өрнек арқылы салыстыру үшін сәйкестік түрін "RegEx match" деп орнату қажет.
Тұрақты өрнектер сәйкестік үшін пайдаланылатын айнымалыларда емес, триггердің өзінде жазылуы керек!
Деректерді жинау кезінде пайдаланушылар жиі сұралғаннан басқа нәрсені енгізеді. Міне, телефон нөмірін тексерудің типтік ағыны. Егер пайдаланушы жарамды телефон нөмірін енгізбесе, бот оны қайталап көруге шақырады.

Телефон нөмірін енгізу блогында екі шығыс байланысы бар: біреуі ешқандай триггерсіз, ал екіншісі телефон нөміріне сәйкес келетін тұрақты өрнекті қолданатын триггермен.
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Бұл ағын телефон нөмірін тексеру үшін екі байланысты пайдаланады:
-
Негізгі байланыс (жарамды нөмір)
- Триггер: Дұрыс пішімделген телефон нөмірі.
- Әрекет: Нөмірді қосымшаға қосады және жалғастырады.
-
Қосалқы байланыс (жарамсыз енгізу)
- Басымдылық: Негізгі байланыстан төмен.
- Триггер: Жарамды телефон нөмірі емес кез келген енгізу.
- Әрекет: Пайдаланушыға қате туралы хабарлайды және қайталап көруге бағыттайды.
Бұл пайдаланушының жарамды деректерді бергеннен кейін ғана ілгерілеуін қамтамасыз етеді, сонымен қатар кез келген қателер туралы лезде кері байланыс алады.
Пайдалы тұрақты өрнектер тізімі:
-
Тек 1-ден басталатын сандық енгізу:
^[1-9]+[0-9]*$ -
Тек 0-ден басталатын сандық енгізу:
^[0-9]+[0-9]*$ -
Несие картасының нөмірі:
[0-9]{13,16} -
Жалпы телефон нөмірі:
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$ -
Әріптер мен сандар (латын):
^[a-zA-Z0-9]+$ -
Домен (мысалы, abcd.com):
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ -
URL (мысалы, abcd.com):
(https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]* -
IPv4:
((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?) -
IPv6:
((^|:)([0-9a-fA-F]{0,4})){1,8}$ -
Пайдаланушы аты (2-20 таңбамен шектелген, әріптер мен сандар болуы мүмкін, бірінші таңба әріп болуы керек):
^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$ -
Құпия сөз (кіші және бас әріптер, сандар):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$ -
Күшті құпия сөз (бас әріптер, кіші әріптер, сандар/арнайы таңбалар, кемінде 8 таңба):
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ -
YYYY-MM-DD пішіміндегі күн:
[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])
Жаңарту. Қатаңырақ күн тексеруі:
(19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31) -
DD/MM/YYYY пішіміндегі күн:
(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d -
DD.MM.YYYY пішіміндегі күн:
(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\d\d -
Бүтін және өзгермелі нүктелі сандар (ондық бөлгіш ретінде нүкте)
\-?\d+(\.\d{0,})? -
UUID:
^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$ -
Ендік немесе бойлық:
-?\d{1,3}\.\d+ -
Жаңарту. E-mail:
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$ -
Жаңарту. URL
~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]*)?(?:#[^ '\"&]*)?$~i -
Жаңарту. HH:MM:SS пішіміндегі уақыт:
^([0-1]\d|2[0-3])(:[0-5]\d){2}$ -
Жаңарту. Mac-адрес:
([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}
Тұрақты өрнектердің үлкен саны бар. Егер сіз осы тізімде қажетті өрнекті таппасаңыз, іздеу жүйесін пайдалану ұсынылады.
Тұрақты өрнектерді келесі сайттарда ыңғайлы түрде тексеруге болады: https://regex101.com/


