RegEx fonksiyonu javascript

Amplify’d from www.cfcube.com
Birçok dilde olduğu gibi RegEx fonksiyonu validation kontrolleri yapmak için kullanılır. Örneğin bir inputa sadece sayı,metin,email,telefon numarası yada herhangi bir formata uygun veri girilmesi istenildiğinde o formata uygun olup olmadığını RegEx fonksiyonu ile yapmak mümkündür. Kullanımı biraz karışık gelebilir ancak sadece 1 satırda istediğimiz pek çok şartı sağlayabiliriz. Aşağıda RegEx fonksiyonundaki özel karakterlerin nasıl kullanacağını detaylı şekilde bulabilirsiniz.
e-posta adresi
S+@S+.S+
arada @ işareti olmalı. @ önce en az boşluk olmayan 1 karakter. @ sonra en az boşluk olmayan bir karakter sonra "." daha sonra en az 1 boşluk olmayan karakter olmalı.
en az 4 en çok 10 karakterlik şifre.
w{4-10}
şifre
şifre 2
[a-zA-Z]w*d+w*
ilk karakter küçük veya büyük bir harf olmalı.Daha sonraki karakterler arasında en az bir adet rakam olmalı.
xxx xxx xx xx formatında telefon bilgisi.
d{3} d{3} d{2} d{2}
tel
              Örnek uygulama

1* : ,1,11,111


1+ : 1,11,111

gruplamadır
1 veya daha fazla önceki karakterlerin tekrarlanmasıdır
0 veya daha fazla önceki karakterlerin tekrarlanmasıdır
açıklama

*


+

(11)+ : 11,1111
6|7 : 6 veya 7
iki seçenekten birisidir
belirtilen aralık içindeki karakterlerden birisi

belirtilen aralık dışındaki karakterlerden birisi

yeni satır harici tüm karakterler
boşluk karakteri
boşluk karakteri haricindeki tüm karakterler
rakamsal tüm karakterler
rakam olmayan tüm karakterler
kelimelerde kullanılan tüm karakterler
önceki karakterlerin veya grubun kaç adet tekrarlanacağını belirtir.

{}

w
D
d
S
s
.

[^]

[]
|
()
s+ : , ,
.* : , 1, asad,123
[^1-3] : 1,2 ve 3 dışındaki tüm karakterler
[1-3] : 1,2 veya 3
S+ : asdasdas,21321
d+ : 12312,321
D+ : adas,adsa
w+ : ali
a{1}: a
b{1-3}: b,bb veya bbb
işaret
5.) “{}” Karakterleri

Kendinden önce gelen karakterin belirtilen sayıda tekrar etmesini sağlar.

1-   [a-zA-Z]{1,10}—sadece  * string*  girişi için(1 ıle 10 karakter uzunlugunda olabilşir,biz degiştirebiliriz bu oranları)
3-   ^d+$---sadece *sayı* girişi için kullanılır.
2-   [a-zA-Z0-9]{1,10}---string+sayı girişi için(köşeli parantezlere ektra dahil etmek istediklerimizi yazabiliriz.)


SAYISAL DEGERLER ILE ILGILI BILGILER
İki önemli noktaya dikkat edelim:
(“/^”---à string in baslangıcını gösterir.)
(“$/;”--àstring in bittigini gösterir.)
“(0?[1-9])”--- // 1, 2, .., 9, 01, 02, ..., 09 gibi yazılmış günleri tanımlar.

“([12][0-9])”--- // 10, 11, ..., 29 gibi yazılmış günleri tanımlar.


“(3[01])”----- // 30, 31 günlerini tanımlar.

// Bu üç tanımı OR (|) işlemiyle
// birleştirirsek gün tanımını elde ederiz.

// Gün tanımı :--- “((0?[1-9])|([12][0-9])|(3[01]))
Şimdi desenimizin AA yani tarihin ay belirtilen kısmını tanımlayalım :


“(0?[1-9])”--- // 1, 2, .., 9, 01, 02, .., 09 gibi yazılmış ayları tanımlar.

“(1[0-2])”--- // 10, 11, 12 aylarını tanımlar.

// Bu iki tanımı OR işlemiyle
// birleştirirsek ay tanımını elde ederiz.

// Ay Tanımı :--- “((0?[1-9])|(1[0-2]))”



Şimdi desenimizin YYYY yani tarihin yıl belirtilen kısmını tanımlayalım :


“([12][0-9][0-9][0-9])”---- //1000 ile 2999 yılları arasındaki tüm yılları içerir.



Ve son olarak tanımladığımız gün, ay ve yıl desenlerini “/” ile birleştirelim :


“((0?[1-9])|([12][0-9])|(3[01]))(/)(0?[1-9]|1[0-2])(/)([12][0-9][0-9][0-9]))”





BIRKAÇTANE ÖRNEK UYGULAMA YAPALIM

  • validate="/[dw]{3,}/" –EN AZ 3 CHARACTER OLMALI UZUNLUGU VE ICERIGI KELIME YADA SAYI OLABILIR .
  • validate="/^([0-9]{11})$/ " -11 RAKAMLIK TELEFON NUMARASI
  • validate="^([0-9]){2}(/|-){1}([0-9]){2}(/|-){1}([0-9]){4}$/"-TARIH FORMATI (dd/mm/yyyy)
  • validate="/^([w]+)(.[w]+)*@([w]+)(.[w]{2,3}){1,2}$/"-EMAIL
ÖRNEKLER
 emailRegEx = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
 SadeceString = /[^0-9]/;
 sadecestring=/^[a-zA-Z]+$/;---------SADECE A ILE Z   ARASINDAKI KARAKTERLERI KULLANABILIRSINIZ.
 sadecestring=/^[a-zA-Z_*-]+$/;-------A VE Z NIN DISINDA  _ VE  *  OZEL KARAKTERLERINI DE KULLANICI GIREBILIR.(SIZ ISTEYINIZE GORE OZEL KARAKTER EKLEYEBILIRSINIZ.)
sadecestring=/^[a-zA-Z0-9]+$/;-------STRING VE SAYI GIREBILIRSIN
 sadecestring=/^[a-zA-Z_*0-9]+$/;------STRING,SAYI VE OZEL BELIRLEDIGIN OZEL KARAKTERLER GIREBILIRSIN.(BURADA OZEL KARAKTERLERI 0-9 DAN ONCE YAZMALISIN.)
 sadecestring=/^d+$/
var sadecestring=/^@+$/;----------SADECE @ KONTROLU YAPIYOR EMAIL ICIN
var sadecestring=/^@.+$/; EMAIL ICIN @ VE .(NOKTA) KONMTROLU YAPIYOR
 sadecestring=/[01][0-2][/.-]?[0-3][0-9][/.-]d{4}/;------SADECE DATE KONTROLU(_ _ / _ _ / _ _ _ _) TARIH FORMATI BU SEKILDE KONTROL.
 sadecestring=/^(05)[0-9][0-9][1-9]([0-9]){6}+$/;------------TELEFON NUMARASI GIRISI
 sadecestring=/[01][0-2][/.-]?[0-3][0-9][/.-]d{4}/;-------YARI HATALI--200009 YANI 4 BASAMAKTAN FAZLA GIRERSEN HATA VERIYOR.
[01]----BASTAKI RAKAM YA  0  YADA  1  OLACAK.
[0-9]---TEK BASAMAK OLUYOR ALACAGI DEGERLER 0 ILE  9   ARALIGINDA OLABILIR SADECE.
[01][0-9]---00-01-02-03........10-11-12.......19   A  KADAR DEGER ALABILIR.
......----BU SOLA YATIK CIZGI OLDUGUNDAN BUNDAN SONRA GELEN  OZEL KARAKTERLERIN STRINGE DAHIL OLMASINI SAGLAR.
 sadecestring=/(^[0?][1-9](/.-)(^[01][0-9])+$/;--------HATALIDIR
 sadecestring=/^(05)[0-9][0-9][1-9]([0-9]){6}+$/;
JAVASCRİPT İLE YAPILMIS BİR ÖRNEK

v

1.) “^” Karakteri

Satır başını ifade eder.


2.) “$” Karakteri

Satır sonunu ifade eder.

3.) “[]” Karakterleri

Bir arrayi yada aralığı temsil eder.

“[a-z]edir” şeklindeki kullanım aralık belirtmeye yarar.
“[0-9]edir” şeklindeki kılanlım ise sayısal aralık belirtmeye yarar.
4.) “” Karakteri

Kendinden sonraki özel karakterin stringe dahil edilmesini sağlar.

Yorumlar

Bu blogdaki popüler yayınlar

22.06.2020 - 26.06.2020 arası işler

Asp.net RestSharp ile data post etmek

List Box Item içindeki elemanları aşağı veya yukarı taşımak