Arama butonu
Bu konudaki kullanıcılar: 1 misafir
12
Cevap
1173
Tıklama
0
Öne Çıkarma
Regex ile nasıl ardışık sayı kontrolü yapılır?
S
7 yıl
Er
Konu Sahibi

Merhabalar, Ben bir input için kontrol yapmak istiyorum.
İnputa girilen değer ardışık sayı ve tekrar eden sayılar içermeyecek.(Örn: 4444444, 123456, 654321, 987654321, vs...)
Bunun kontrolunu nasıl yapabilirim?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



R
7 yıl
Yarbay

^(?!.*?[ '.-]{2})[A-Za-z0-9 '.-]{1,30}$


Bu mesaja 1 cevap geldi.
S
7 yıl
Er
Konu Sahibi

Çok teşekkür ederim. Eğer zahmet olmazsa kodu açıklayabilir misiniz?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Requizm
T
7 yıl
Yarbay

Regex kodu Perl ile denedim fakat 44444 yerine 47 yazınca onu da yakaladı yani tam doğru çalışmıyor.



https://duckduckgo.com/?t=palemoon&q=Integer+Sequence+Regex bakınca ardışık sayı kontrolü için regex pek olmaz seklinde yorumlar var ki bence de öyle. Ardışık sayı kontrolünü regex 'e sıkıştırmak biraz zor.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
G
7 yıl
Yarbay

vala regexlikten çıktı ama işine yarar belki

(0(?=0|1)|1(?=1|2)|2(?=2|3)|3(?=3|4)|4(?=4|5)|5(?=5|6)|6(?=6|7)|7(?=7|8)|8(?=8|9)|9(?=9)|9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0))





< Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 16 Aralık 2018; 17:37:7 >

R
7 yıl
Yarbay

quote:

Orijinalden alıntı: scarlett18

Çok teşekkür ederim. Eğer zahmet olmazsa kodu açıklayabilir misiniz?
Benim sadece başlangıç seviyesinde regex bilgim var dostum, internetten buldum bu kodu.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
T
7 yıl
Yarbay

Regex ile birbirini tekrar eden karakter kontrolü iyi yapılır fakat ardışık artan / azalan kontrolü ancak bir rutin fonksiyon ile yapılabilir. Forumda 1-2 sene önce bir soru vardı bir dizide birbirini ardışık takip eden en uzun alt dizi çıkarmakla ilgili, o soruyu örneğin rutin kullanarak cok rahat çözmüştük



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Requizm
S
7 yıl
Er
Konu Sahibi

Eğer aklınızda ise o çözümü paylaşabilir misiniz?




Bu mesajda bahsedilenler: @revivo72
S
7 yıl
Er
Konu Sahibi

Peki regex yerine ne kullanabilirim?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
M
7 yıl
Yarbay

Regex bilgim çok yok ama ([0-9])\\1+$ bu tarz bir şey olmali. Bir grup tanımı yapıp sonra onun buldugu değeri değişken gibi kullanıp ondan birden fazla olmasını ve bunun sanir sonuna kadar olmasını beklemen gerek. Misal "ABC" diye bir değer var 'ABC' diye var ama "abc' valid değil. İşte ilk bulduğunu aynısı gibi diyebildi gün bir işaret var. \\1 diye kalmış aklımda. Bir onu araştır. Bir de ben olsam verbal expression kütüphanesini kullanarak regex yazardım. Regex öğrenilip kullanılan sonra unutulan bir Markup :) PC başına olsam dener gönderirdim. Bu kod size tekrar eden olup olmadığını söyler ama ardışık başka bir mesele. Ben regex ödevi değilse ^[0-9]+$ der rakam olduğundan emin olur sonra split eder number array yapar tek tek bakardım. Ama ödev regex öğretmekse biraz araştır.





< Bu mesaj bu kişi tarafından değiştirildi mahoni_38 -- 16 Aralık 2018; 21:21:28 >

< Bu ileti mobil sürüm kullanılarak atıldı >

G
7 yıl
Yarbay

benim yazdığıma baktın mı sorudan anladığımı yaptım
https://jsfiddle.net/1gaw6th5/





< Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 16 Aralık 2018; 21:30:8 >

Y
7 yıl
Yarbay

Sadece ardisik ve ayni olmayacaksa neden bir loop ile gezip bir onceki karakter x ise x-1, x veya x+1 mi diye kontrol edip eger oyleyse false dondurmuyorsun?



< Bu ileti tablet sürüm kullanılarak atıldı >

T
7 yıl
Yarbay

Regex yerine basit bir fonksiyon yazarak kontrolü yapabilirsin (tabi ki)

Örneğin aşağıdaki kod örnek verdiğin rakamları ardışık mı değil mi kontrol ediyor:

< Resime gitmek için tıklayın >




Bu mesajda bahsedilenler: @scarlett18
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.