Yazar |
|
mervenur
İstanbul
Kayıt: 06.01.2011 |
|
selam arkadaşlar,
/^[0-9_]+$/
sadece rakam ve , girilmesini istiyorum. bu regular expression harfleri de kabul ediyor. nerede yanlış yaptım :(
kolay gelsin, iyi çalışmalar.
Sevgiyle
|
|
Yazar |
|
mstf
istanbul
Kayıt: 06.01.2012 |
|
sadece rakam ve virgül girilsin istiyorsan
^[0-9,]+$
|
|
Yazar |
|
mervenur
İstanbul
Kayıt: 06.01.2011 |
|
, yerine _ yazmışım yanlışlıkla.
yalnız sizin verdiğiniz de işe yaramadı. rakam ve diğer özel karakterler de girilebiliyor bu şekilde. :(
Sevgiyle
|
|
Yazar |
|
whispered
Samsun
Kayıt: 24.10.2011 |
|
Cevap olarak verilen regex doğru çalışıyor gibi hangi durumlarda çalışmıyor örnek verebilirmisiniz deneyeyim.
Istanbul Universitesi
Bilgisayar Mühendisligi
|
|
Yazar |
|
euphrates
Istanbul
Kayıt: 11.10.2008 |
|
Sanırım arkadaş rakam dışı hiçbir şey girilmesin derken klavyede basılsa bile değer girilmemesinden bahsediyor. Regx ile yaparsan post back olduktan sonra valid olup olmadığını kontrol eder.
Keypress'te çalışacak bir javascript işini görebilir.
Kolay gelsin
//Burada sen istediğin text box'ı koyabilirsin. Jquery ile type olarak seçtirilmiş.
//İstersen direk id verip de yapabilirsin.
<input type='text' />
$('input').keypress(function(e) {
var a = [];
var k = e.which;
//Virgülün ascii'sini unutmuşum. Onu da eklersen olur.
a.push(44);
for (i = 48; i < 58; i++)
a.push(i);
if (!($.inArray(k,a)>=0))
e.preventDefault();
});
Yesterday is history, tomorrow is a mystery. Today? Today is a gift. That’s why we call it the present!
|
|
Yazar |
|
mervenur
İstanbul
Kayıt: 06.01.2011 |
|
arkadaşlar wpf kullanıyorum. a'dan z'ye tüm karakterleri kabul ediyor. özel karakterleri de. yani kabul etmediği bir şey yok.
Regex regex = new Regex(StRegex);
if (e.Key.ToString().ToUpper() == "D")
{
e.Handled = true;
}//if
else
{
e.Handled = regex.IsMatch(e.Key.ToString().Replace("D", ""));
}//else
bu arada e.Key.ToString().Replace("D", "") yapmamın sebebi her ne yazmış olursam olayım başına kendiliğinden D koyması.
Sevgiyle
|
|
Yazar |
|
fenerista
Istanbul
Kayıt: 27.11.2006 |
|
^(\d|,)+$
Oktay,
Thk you!
|
|
Yazar |
|
mervenur
İstanbul
Kayıt: 06.01.2011 |
|
bu da olmadı. windows prensentation foundation (WPF) kullanıyorum acaba onn garipliği midir nedir?
Sevgiyle
|
|
Yazar |
|
dotnetonur
Dersaadet
Kayıt: 21.11.2007 |
|
http://www.ultrapico.com/Expresso.htm isimli tool ile RegEx bilgini hem taze tutabilir hem de deneme / yanılmaları ile doğru pattern'a daha hızlıca ulaşabilirsin.
Regex ayrı bir yabancı dil gibi gelir bana hep :)
Ortam sanal olsa da, islenen suc gercektir...
|
|
Yazar |
|
burakkanmaz
Gaziantep
Kayıt: 02.10.2006 |
|
mervenur yazdi | bu da olmadı. windows prensentation foundation (WPF) kullanıyorum acaba onn garipliği midir nedir? |
Regex standart bir betimdir. C#, JS ya da C++ olması önemli değildir.
Sorununuz hala devam ediyorsa ilgili kısmı (yukardaki koddan biraz daha fazlası) verirseniz daha somut cevap verebiliriz.
|
|
Yazar |
|
cguzel
Kayıt: 11.02.2010 |
|
Arkadaşlar şöyle bir regular expression yazdım.
^193.255.167.60$
bu bana doğru sonucu veriyor. anlaşılacağı üzere 193.255.167.60 anlamına geliyor. benim burada yapmak istediğim bunun değilini almak. bu konuda yardımcı olursanız sevinirim. normalde değil şu şekilde [^abc] ama burada sadece içerideki karakterlerin değili kabul ediliyor. benim örneğimi karakter karakter olarak değilde bir bütün olarak düşünmek lazım.
|
|
Yazar |
|
cguzel
Kayıt: 11.02.2010 |
|
Arkadaşlar uzun uğraşlar sonucu çözümü buldum.
^((?!\AKELİME\z).)*$
burada KELİME olmayanları getiriyor.
\A ve \z kısımlarına dikkat çekmek isterim.
Eğer bu ikisi olmadan şöyle yazmış olsaydık: ^((?!KELİME).)*$ benzer bir sonuç alacaktık.
Fark nedir peki:
2. durumda bize K, KE ,KEL, KELİ , KELİM olan sonuçları getirecekti, ama KELİME KELİMEx KELİMExxx şeklinde olanları getirmayacakti. Burada KELIME olmayanlar ın tümünü yani KELIMExxx olanıda getirmesini istediğimiz için 1. şekilde yazıyoruz. Kısaca \A ve \z arasına yazılanı tek bir string gibi düşünebiliriz. 2. durumda KEL sonucunuda kabul etmesinin sebebi KELIMENIN içerisinde KEL'in geçiyor olmasıdır. KELIMExxx ise KELIME içerisinde olmadığı için kabul etmiyordu. ama 1. durumda biz bunu çözmüş oluyoruz.
! karakteri ise bize NOT işlemi sağşıyor. Yani KELIME olmayanlar anlamında. * ise KELIME den sonra başka karakterlerde olabilir anlamı katıyor.
^ ve $ karakteri başlangıç ve sonu belirtiyor. bunlar kullanılmasada sonuc değişmez. ama bazı durumlarda ihtiyaç duyuluyor.
Ben burada 193.255.167.60 olmayanları getirmesini istiyorum. o zman şu şekilde yazıyorum. ^((?!\A193\.255\.167\.60\z).)*$
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | |