Sorun Cevaplayalım

XenForo hakkında merak ettiğiniz tüm soru(n)lara 7/24 destek.

Çözümlenmiş Sorunlar

Yaşanan sorunların kolay çözüm yolları ve anlatımları.

Destek Ekibimiz Sizlerle

Ücretli destek talepleri ve özel hizmetler için yanınızdayız.

Bilgi XenForo'da Yeni Kullanıcı Adı Karakter Kısıtlamaları RegEx Matching

Ovunc Dinc

XenTR Yönetici
Admin
XenTR Mod
Müşteri
Lisanslı Üye
Premium
Katılım
2 Şub 2019
Mesajlar
946
Tepki puanı
2,021
Puanları
93
Web Sitesi
xentr.net

İtibar Puanı:

Merhaba arkadaşlar,
Bildiğiniz gibi XenForo'da yeni kullanıcılar için karakter kısıtlamalarını belirleyeceğimiz bir seçenek var.
Bir çok kullanıcı bu alanda tam olarak eşleşmesi gereken RegEx kodlarını tam olarak bilmiyor.

Regular Expressions Nedir?

(Regex veya Regexp / Düzenli / Kurallı İfadeler) modern programlama dillerinin neredeyse tamamında yer bulan, aynı söz dizimine (syntax) sahip olan, genellikle harflerden olusan karakterler dizisinin (katar / string) belirtilen kurallar çerçevesinde kısa yoldan ve esnek bir biçimde belirlenmesini sağlayan bir yapıdır.

Kullanıcı Adlarında Düzenli İfadelerin Kullanım Amacı

  • Kullanıcı tarafından girilen girdinin denetimi,
  • Verilerin kullanım amacına uygun biçime sokulması.
  • Kullanıcı adlarında karakter sınırlamaları ile belirlenen forma getirilmesi
Regex Özel Karakter Tanımlamaları

Aşağıda özel karakterlerin işlevlerinin anlatımlarına ek olarak örneklerine de yer vereceğim. Bu örneklerin
Değerli ziyaretçimiz lütfen, içeriği görüntüleyebilmek için Giriş Yap veya Kayıt Ol anlayışınız için teşekkürler.
için
Değerli ziyaretçimiz lütfen, içeriği görüntüleyebilmek için Giriş Yap veya Kayıt Ol anlayışınız için teşekkürler.
ve
Değerli ziyaretçimiz lütfen, içeriği görüntüleyebilmek için Giriş Yap veya Kayıt Ol anlayışınız için teşekkürler.
siteleri işinizi görecektir.

Meta Karakterler (Escaped Characters)

“.“
Sayfa ya da paragraf sonu dışındaki herhangi bir karakteri temsil eder. Örnek olarak “k.re” ifadesi “küre”, “kare”, “kore”, “kere” ile eşlenecektir.

$“
Eşlendiği ifadenin sonunu belirtir. Boşluklar ve paragraf başındaki özel nesneler dikkate alınmaz. Örneğin paragraf sonundaki “iner$” ifadesini belirlemek bu şekilde mümkün olacaktır. Bu şekilde paragraf sonlarını bulup değiştirmek mümkün olmaktadır.

“^“
“$” ifadesine ters olarak, eğer terim sadece paragraf başında ise aranılan ifadeyi bulur. Örnek olarak “^Sabahleyin” ifadesi “Sabah, Sabahleyin…” gibi ifadelere sınır belirtilmemişse eşleşmeye devam eder.

^ köşeli parantez [] içinde kullanıldığında kendisinden sonra belirtilen karakter veya grubun bulunmayacağını ifade eder.

“*“
Önünde bulunduğu karakterin 0 veya tekrarlarıyla eşlenir. “.*” ifadesi bütün karakterlere eşlenirken, “a*t” ifadesi “t, tt, at” ile eşlenir.

“[ ]“
Köşeli parantezler, içindeki tüm karakterlerle eşlenir. Örnek olarak “S[ai]z” ifadesi “Saz” ve “Siz” ile eşlenir.


“[c1-c2]“
Belirtilen aralığa göre (- ile) eşleniklerin belirlenmesinde kullanılır. Örneğin “[0-9]” ifadesi bütün rakamlar ile eşlenir. Birleşik ifadeye örnek olarak “[A-Za-z]” ifadesi de bütün harflerle büyük küçük ayrımı yapmadan eşlenecektir.


“[^c1-c2]“
Belirtilen aralık harici bütün karakterlere eşlenir. Örnek olarak “[^123a-z]” ifadesi 1, 2, 3 sayıları ve bütün küçük harfler dışında bütün ifadelere eşlenir.


“( )“
İfadeyi gruplandırır, gruplandırılmış ifadelerine denk gelen kalıpları (en fazla 9 kalıp) saklar.Parantez içinde belirtilen karakterleri başvuru olarak tanımlar. İlk başvuruya “\1” ile, ikinci başvuruya “\2” gibi biçimlerde başvurulur.Örneğin, metniniz 1988, 1980, 1999, 1898 ve 1919 tarihlerini içersin. Aramanız (8)9\1 düzenli ifadesini kullanıyorsa, “898” sonucu bulunur.

“|“
Veya/yada anlamındadır, belirtilen iki ifadeyle ayrı ayrı eşlenebilir. Örneğin “k(a|u)le” ifadesi, “kale” ve “kule” ifadelerine eşlenir.

“+“
Kendinden önce gelen ifadenin bir veya daha fazla kullanımına eşlenir. Örnek olarak “z+” ifadesi z, zz, zzz… ile eşlenir.

“?“
Kendinden önce gelen ifadenin 0 veya 1 tekrarıyla eşlenir.

“{ }“
Kendinden önceki ifadenin belirlenen sayıda tekrarıyla eşlenir. Örneğin “a[0-5]{2}” ifadesi a harfi ile başlayıp yanında 0 ile 5 arasında 2 tane rakam olan, a12, a24, a14 gibi ifadelerle eşlenir.


“{i,j}“
Belirtilen sayıda tekrar önceki ifade bağlamında eşlenir. Örneğin “[0-9]{4,6}” ifadesi bütün 4, 5 veya 6 elemanlı sayı dizilerine eşlenir.


Karakter Etiketleri

“\d“
[0-9] – herhangi bir rakam

“\D“
[^0-9] – rakam olmayan herhangi bir ifade

“\w“
[a-zA-Z0-9_] – türkçe harfler hariç, alfanümerik herhangi bir harf, rakam veya alt çizgi.

“\W“
[^a-zA-Z0-9_] – alfanümerik olmayan.

“\s“
[ \t\n\r\f] – herhangi bir boşluk karakteri

“\S“
[^ \t\n\r\f] – boşluk karakteri olmayan.Kullanım olarak başlangıçta karışık görünebilir, ancak biraz pratikten sonra aslında kullanımının oldukça kolay ve işlevsel olduğu görülmektedir.

Bu açıklamalardan sonra tekrar konumuza dönecek olursak,
Gelin şimdi hep birlikte Yeni kullanıcı kayıt seçenekleri için bir örnek yapalım.

İlgili alanan erişim adresimiz: admin.php?options/groups/usersAndRegistration/

XenForo Seçenekleri | Seçenekler | Yeni Kullanıcı Kayıt Seçenekleri

Gördüğünüz gibi ilgi alan varsayılan da boş olarak geliyor.

1602

Eğer biz utf-8_turkish_ci karakter dışında ve boşluk içeren adları engelleyecek olursak, kullanmamız gereken RegEx kodumuz şu şekilde olacaktır.

Kod:
Değerli ziyaretçimiz lütfen, içeriği görüntüleyebilmek için Giriş Yap veya Kayıt Ol anlayışınız için teşekkürler.
1603

RegEx, bir çok uygulama ve işlemde kullanılabildiği için pratik alanı oldukça geniştir. Kullanımına ilişkin örnekler bağlamında vakit buldukça konu altında kodlarımızı eklemeye devam edeceğim.
 
Üst
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock
No Thanks