Düzenli ifadeler, bir botun kullanıcı girdisinin biçimini doğrulamasını sağlayan kalıplardır — örneğin, girdinin başka bir şey değil, bir telefon numarası olduğundan emin olmak için.

Düzenli bir ifade kullanarak karşılaştırma yapmak için eşleme türünü "RegEx eşleşmesi" olarak ayarlamanız gerekir.
Düzenli ifadeler, eşleme için kullanılan değişkenlerde değil, tetikleyicinin kendisinde yazılmalıdır!
Veri toplarken, kullanıcılar genellikle kendilerinden istenenden farklı bir şey girerler. İşte bir telefon numarası girdisini doğrulamak için tipik bir akış. Kullanıcı geçerli bir telefon numarası girmezse, bot onu tekrar denemeye yönlendirir.

Telefon numarası giriş bloğunun iki giden bağlantısı vardır: biri tetikleyicisiz, diğeri ise bir telefon numarasını eşleştirmek için düzenli ifade kullanan bir tetikleyiciye sahiptir.
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Bu akış, telefon numarası doğrulamasını işlemek için iki bağlantı kullanır:
-
Birincil bağlantı (geçerli numara)
- Tetikleyici: Doğru biçimlendirilmiş bir telefon numarası.
- Eylem: Numarayı uygulamaya ekler ve devam eder.
-
Yedek bağlantı (geçersiz girdi)
- Öncelik: Birincil bağlantıdan daha düşük.
- Tetikleyici: Geçerli bir telefon numarası olmayan herhangi bir girdi.
- Eylem: Kullanıcıyı hata konusunda bilgilendirir ve tekrar denemesi için yönlendirir.
Bu, kullanıcının yalnızca geçerli veri sağladıktan sonra ilerlemesini sağlarken, herhangi bir hata durumunda anında geri bildirim almasını sağlar.
Kullanışlı düzenli ifadelerin listesi:
-
Yalnızca 1 ile başlayan rakamlardan oluşan sayısal girdi:
^[1-9]+[0-9]*$ -
Yalnızca 0 ile başlayan rakamlardan oluşan sayısal girdi:
^[0-9]+[0-9]*$ -
Kredi kartı numarası:
[0-9]{13,16} -
Genel telefon numarası:
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$ -
Harfler ve sayılar (Latin):
^[a-zA-Z0-9]+$ -
Alan adı (ör. abcd.com):
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ -
URL (ör. 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}$ -
Kullanıcı adı (2-20 karakter sınırı ile, harf ve rakamlardan oluşabilir, ilk karakter bir harf olmalıdır):
^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$ -
Parola (Küçük ve büyük Latin harfleri, sayılar):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$ -
Güçlü parola (büyük harf, küçük harf, sayılar/özel karakterler, en az 8 karakter):
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ -
YYYY-AA-GG biçiminde tarih:
[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])
GÜNCELLEME. Daha katı tarih doğrulaması:
(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) -
GG/AA/YYYY biçiminde tarih:
(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d -
GG.AA.YYYY biçiminde tarih:
(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\d\d -
Tam sayı ve ondalıklı sayılar (ondalık ayırıcı olarak nokta)
\-?\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}$ -
Enlem veya Boylam:
-?\d{1,3}\.\d+ -
GÜNCELLEME. E-posta:
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$ -
GÜNCELLEME. 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 -
GÜNCELLEME. SS:DD:SS biçiminde saat:
^([0-1]\d|2[0-3])(:[0-5]\d){2}$ -
GÜNCELLEME. Mac adresi:
([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}
Çok sayıda düzenli ifade mevcuttur. Bu listede ihtiyacınız olanı bulamazsanız, bir arama motoru kullanmanız iyi bir fikirdir.
Düzenli ifadeleri şu gibi web sitelerinde rahatça test edebilirsiniz: https://regex101.com/