Php Kullanıcı Adında Özel Karakter Engelleme
-
merhaba arkadaslar
üye olan kişilerin kullanıcı adındaa-z Latin karakterler
0-9 numerik karakterler
aynı zamanda - işareti dışında kalan tüm yazı karakterlerini engellemek isitoyrum.
Kullanıcı adında özel karakter,türkçe karakter ve boşluk olduğunda kullanıcıya uyarı versin istiyorum.
bunu tam olarak nasıl yapabilirim. -
tam regex'ten bahsetmişsin :)
regex php'de biraz gıcık nasıl bilmiyorum ama aşağı yukarı şöyledir
regex pattern = ([0-9a-z]+)
burdan bulduğun yazı ile orjinal yazı tutmuyorsa (farklı karakterler var demektir) o zaman hata verdirirsin
aynı ise sorun yok
edit: hacı bekle az koding.com da deniyorum (php kurulu değil bende)
YekteranBaymedir tarafından 29/Eyl/13 06:07 tarihinde düzenlenmiştir -
Daft bunu yazdı
tam regex'ten bahsetmişsin :)
regex php'de biraz gıcık nasıl bilmiyorum ama aşağı yukarı şöyledir
regex pattern = ([0-9a-z]+)
burdan bulduğun yazı ile orjinal yazı tutmuyorsa (farklı karakterler var demektir) o zaman hata verdirirsin
aynı ise sorun yok
aynen regexten bahsettim ama aklımı kurcaladı 2 saatir garip garip işaretler varr :))
-
WildWamqire bunu yazdıDaft bunu yazdı
tam regex'ten bahsetmişsin :)
regex php'de biraz gıcık nasıl bilmiyorum ama aşağı yukarı şöyledir
regex pattern = ([0-9a-z]+)
burdan bulduğun yazı ile orjinal yazı tutmuyorsa (farklı karakterler var demektir) o zaman hata verdirirsin
aynı ise sorun yok
aynen regexten bahsettim ama aklımı kurcaladı 2 saatir garip garip işaretler varr :))
buyur hacı test edildi onaylandı
<?
$url = "deneme-yapiyorum";
if (preg_match('/[^a-zA-Z0-9|-]/', $url)) {
echo "Yanlis girdiniz";
} else {
echo "Sorun yok.";
}
?>
regex biliyor musun bilmem de, ben gene de anlatayım:
eğer yazının içinde a'dan z'ye, A'dan Z'ye (bunlar ingiliz alfabesine göre tabi ki) 0'dan 9'a ve -'den FARKLI (^ karakteri)
bir şey ile eşleşirse hata ver.
YekteranBaymedir tarafından 29/Eyl/13 06:12 tarihinde düzenlenmiştir -
Daft bunu yazdıWildWamqire bunu yazdıDaft bunu yazdı
tam regex'ten bahsetmişsin :)
regex php'de biraz gıcık nasıl bilmiyorum ama aşağı yukarı şöyledir
regex pattern = ([0-9a-z]+)
burdan bulduğun yazı ile orjinal yazı tutmuyorsa (farklı karakterler var demektir) o zaman hata verdirirsin
aynı ise sorun yok
aynen regexten bahsettim ama aklımı kurcaladı 2 saatir garip garip işaretler varr :))
buyur hacı test edildi onaylandı
<?
$url = "deneme-yapiyorum";
if (preg_match('/[^a-zA-Z0-9|-]/', $url)) {
echo "Yanlis girdiniz";
} else {
echo "Sorun yok.";
}
?>
regex biliyor musun bilmem de, ben gene de anlatayım:
eğer yazının içinde a'dan z'ye, A'dan Z'ye (bunlar ingiliz alfabesine göre tabi ki) 0'dan 9'a ve -'den FARKLI (^ karakteri)
bir şey ile eşleşirse hata ver.
eyvalalh hocam çok saol şimdi anladımm bunuda çözdük bakalım smtp kaldı :)) -
[^a-zA-Z0-9|-]
Yukarıdaki desendeki boru, yani | karakteri, karakter katarı içinde ([ , ] arasında) regex özel karakteri olarak işlenmeyip, doğrudan aranan karakterlerden birisi olacağından bu desen ile içinde | karakteri barındıran rumuzlara da onay verilecek ki bu istenen bir şey değil. O karakter silinirse sorun kalmaz.
buzukatak tarafından 01/Eki/13 15:26 tarihinde düzenlenmiştir
