• Sonuç bulunamadı

Düzenli İfadeler & JSON & Form Doğrulama. Konu başlıkları. Düzenli İfadeler Regex JavaScript Nesneler JavaScript Fonksiyonlar JSON Form Doğrulama

N/A
N/A
Protected

Academic year: 2022

Share "Düzenli İfadeler & JSON & Form Doğrulama. Konu başlıkları. Düzenli İfadeler Regex JavaScript Nesneler JavaScript Fonksiyonlar JSON Form Doğrulama"

Copied!
15
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Düzenli İfadeler & JSON & Form Doğrulama

Konu başlıkları

2

Düzenli İfadeler Regex

JavaScript Nesneler

JavaScript Fonksiyonlar

JSON

Form Doğrulama

(2)

Konuya Özgü Kavramlar

JSON

Search, replace, case insensetive Validation

Düzenli İfadeler

4

Düzenli ifade belli bir biçime uyan karakterler dizesidir.

Bir veriyi metin dokümanı içerisinde aratırken istediğimiz veri desenini tanımlarız.

Düzenli ifade bir karakteri ya da daha karmaşık bir deseni (metin dizesini) temsil edebilir.

Düzenli ifadeler metin veri arması veya değiştirilmesi konularında işlemler

(3)

search Örnek

5

var str = "Visit W3Schools";

var n = str.search(/w3schools/i); // 6 var str = "Visit W3Schools!";

var n = str.search("W3Schools"); // 6 var str = "Visit Microsoft!";

var res = str.replace(/microsoft/i, "W3Schools"); // Visit W3Schools

Replace Örnek

6

var str = "Visit Microsoft!";

var res = str.replace(/microsoft/i, "W3Schools"); // Visit W3Schools var str = "Visit Microsoft!";

var res = str.replace("Microsoft", "W3Schools"); // Visit W3Schools

Stringler ve Düzenli ifadeler aynı fonksiyonlarla kullanılabilirler.

Düzenli ifadeler daha güçlü aranacak ifade tanımlaması sağlarlar.

(4)

Regex Kurallar Modifiers

7

Kural Modifier Tanım

i Büyük Küçük harf Duyarsız

g Bütün eşleşmeleri bul (İlkini bulunca

Durma!)

m Çok satırlı eşlemeler yap

Regex Desenleri

8

İfade Tanım

[abc] Sadece Parantez içinde geçen karakterleri

bul

[0-9] Sadece parantez içinde verilen aralıktaki

sayılardan geçenleri bul

(x|y) Parantez içindeki iki ihtimalden birini bul

(5)

Regex Meta Karakterler

9

Metacharacter Tanım

\d Sayıları Bul

\s Boşluk karakterini bul

\b Bir kelimenin en başında yada en sonunda

eşleşen ifadeyi bul

\uxxxx Heksadesimal olarak tanımlanan Unicode

karakteri bul

İçinde Ne kadar Geçeceği

10

Quantifier Description

n+ İçinde en azından 1 tane n geçenler

n* İçinde n geçmeyen veya bir ya da birden

fazla n geçenler

n? İçinde hiç yada bir kez n geçenleri

(6)

RegEx Nesnesi

11

JavaScript de RegEx nesnesi düzenli ifadeler için ön tanımlı fonksiyonları içerir.

test() metodu RegEx nesnesine ait bir metottur.

var desen= /e/;

desen.test(“Önce en iyi eğitim!"); // İçinde e geçtiği için true

Şöyle de yazılabilir

/e/.test(“Önce en iyi eğitim!");

Exec() Kullanmak

12

Exec() metodu da bir regEx nesnesi metodudur.

Bir deseni arar ve bulursa geri döndürür.

Bulamazsa null döndürür.

Örn : /e/.exec(“Önce en iyi eğitim!"); // e

(7)

JSON Örnek

13

Üç çalışan bilgisini JSON ile tanımlayalım

“calisanlar":[{

{“ad":"John", " soyad ":"Doe"}, {" ad ":"Anna", " soyad ":"Smith"}, {" ad ":"Peter", " soyad ":"Jones"}

]}

JSON JavaScript’teki nesne yazımı ile aynı olduğu için kolayca JS nesneleri olarak ifade edilebilirler.

JSON Yazım Kuralları

14

Veri, isim değer çiftleri olarak tutulur

Veri, virgüller ile ayrılır

Süslü parantezler nesneleri tutar

Köşeli parantezler dizileri tutar

(8)

JSON Verisi

15

JSON verisi aynen nesne gibi kodlanır

“ad":“UZEM“

JSON objeleri süslü parantezler içerisine yazılır {“ad":“OMÜ", “program":“UZEM"}

JSON dizileri Köşeli Parantezler İçerisine Yazılır

“calisanlar":[

{“ad":"John", “soyad":"Doe"}, {" ad ":"Anna", " soyad ":"Smith"}, {" ad ":"Peter", " soyad ":"Jones"}

]

Dizi elemanları nesnelerden oluşabilmektedir.

JSON Metnini JS Nesnesine Dönüştürmek

16

JSON genel itibariyle web sunusundan alınan verilerin web sayfasında görüntülenmesi için kullanılır.

Basitçe bir metin dosyası için örneklersek var text = ‘{“calisanlar“ : [‘ +

’{ “ad":"John", “soyad":"Doe"}, ‘ +

’{ " ad ":"Anna", " soyad ":"Smith"}, ‘+

’{ " ad ":"Peter", " soyad ":"Jones“ } ]}';

(9)

JSON Örnek

17

<p id="demo"></p>

<script>

document.getElementById("demo").innerHTML = obj.calisanlar[1].ad + " " + obj.calisanlar[1].soyad;

</script>

Çıktısı : Anna Smith

Form Doğrulama

18

JS ile form elemanları kontrol edilerek isteğimiz formata uygun değer girilmesi sağlanabilir.

Aksi takdirde form submit edilip gönderilmez. Alert verilebilir.

function formDogrula() {

var x = document.forms[“form1"][“ad"].value;

if (x == null || x == "") {

alert(“Ad alanı boş geçilemez!");

return false;

} }

(10)

Form Doğrulama

19

<form name=“form1" action="demo_form.asp" onsubmit="return formDogrula()" method="post">

Name: <input type="text" name=“ad">

<input type="submit" value="Submit">

</form>

Form Doğrulama Numara mı Değil mi

20

<input id="numb">

<button type="button" onclick=“fonksiyon()"> Onayla </button>

<p id="demo"></p><script>

function fonksiyon() { var x, text;

x = document.getElementById("numb").value;

if (isNaN(x) || x < 1 || x > 10) { text = “Giriş Geçeli Değil"; } else {

(11)

Otomatik Form Doğrulama

21

<form action="demo_form.asp" method="post">

<input type="text" name=“ad" required>

<input type="submit" value=“Onayla">

</form>

JavaScript Validation API

22

<form action="demo_form.asp" method="post">

<input type="text" name=“ad" required>

<input type="submit" value=“Onayla">

</form>

Property Tanım

checkValidity() Input elementi geçerli veri içeriyorsa True döndürür.

setCustomValidity() Bir input elemanının doğrulama mesajı özelliğni ayarlar

(12)

JavaScript Validation API

23

<input id="id1" type="number" min="100" max="300" required>

<button onclick="myFunction()">OK</button>

<p id="demo"></p>

<script>

function myFunction() {

var inpObj = document.getElementById("id1");

if (inpObj.checkValidity() == false) {

document.getElementById("demo").innerHTML = inpObj.validationMessage;

} }

</script>

Doğrulama Kıstılamaları DOM Özellikleri

24

Property Tanım

validity Gerçelilik durumuna bağlı olarak boolean değer alır.

validationMessage Yanlış olma durumunda gösterilebilecek mesajı içerir.

willValidate Doğrulanacak bir input elemanına işaret eder.

(13)

Doğru Olma (Valid) Özellikleri

25

Property Tanım

customError Özel hata mesajı atandı ise True

patternMismatch Değer desen ile eşleşmezse True

rangeOverflow Eğer değer maksimum değerden büyükse True

rangeUnderflow Eğer değer maksimum değerden küçükse True

tooLong Eğer elementin maxLength özelliğindeki değeri aşarsa True.

typeMismatch Elementin içerdiği değer türü uyumsuzsa True

valueMissing Required olan bir element boş geçilmişse True

valid Eğer elementin değeri geçerlisi ise True

rangeOverFlow Örnek

26

<input id="id1" type="number" max="100">

<button onclick="myFunction()">OK</button>

<p id="demo"></p>

<script>

function myFunction() { var txt = "";

if (document.getElementById("id1").validity.rangeOverflow) { txt = “Değer Çok Büyük";

(14)

rangeUnderFlow Örnek

27

<input id="id1" type="number" min="100">

<button onclick="myFunction()">OK</button>

<p id="demo"></p>

<script>

function myFunction() { var txt = "";

if (document.getElementById("id1").validity.rangeUnderflow) { txt = "Value too small";

}

document.getElementById("demo").innerHTML = txt;

}

</script>

Öğrenenden Beklenenler

28

JSON Regex Validation

konularını anlamak ve kodlamak

(15)

Teşekkürler

Öğr. Gör. Ömer SEVİNÇ

Javascript

Hata Yakalama Try Catch Ünite 11

Referanslar

Benzer Belgeler

Hilbert Sınır-Değer Probleminin simetrik fonksiyonları kullanarak nasıl Riemann Sınır-Değer Problemine dönüşeceğini görüp, bu metotla Uygulamalı Matematikte ve

Biz bu tezde önce Wiener Tipli bölge kavramını vereceğiz ve sınırı düzgün olmayan bu tip bölgelerin sınır noktalarının regülerliği için kriterler

 En küçük kareler kestiricileri, yalnızca ikinci moment varsayımlarını (beklenen değer, rasgele hatalar arasındaki varyanslar ve kovaryanslara ilişkin

ise mimari hususiyetler dikkate alınarak oluşturulmuştur. Kabaca Bizans, Osmanlı ve Cumhuriyet şeklinde üçe indirgenebilecek bu dönemler mimarlık tarihi bağlamında

Karmaşık parça, Brother Speedio R650X2 işleme merkezinde (değiştirme tablalı ve üzerine iki adet iki eksenli pL CNC döner tablasıyla) iki bağlama ile her seferinde beş

Sample Candidate adlı kişinin ölçülen sayısal anlama ve akıl yürütme yeteneği karşılaştırma grubuna göre ortalamanın altında.. Elde ettiği sonuç bu gruptaki

Gemilerle Yapılan Düzenli Seferler Hakkında Yönetmelik kapsamında taşımacılık faaliyetimizi engelleyecek yasal ve özel bir husus bulunmadığını, firma sahibi ve/veya

İşiniz bittikten sonra bağlantınızı kesmek için webmail penceresinin sağ üst kısmında bulunan Oturumu Kapat tuşuna basarak çıkış yapınız. Ayrıca farklı panellerdeki