Web projesi geliştirirken veri güvenliğini sağlamak daha derli toplu bilgiler elde edebilmek için kullanıcıdan yanlış bilgi girişi yapılmasını engellemek için belli başlı bazı yollara başvurabiliriz bu makalemizde kullanıcının sadece sayı girişi yapabilmesini sağlayacağız.
Javascript ile input nesnesine sadece sayı girişi sağlama
Javascript Kodu
1 2 3 4 5 6 | function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; } |
Html Kodu
1 | <input type="text" onkeypress="return isNumberKey(event)"> |
Görmüş olduğunuz gibi kullanıcıya sadece sayı girişini yapabileceği bir input(giriş) nesnesi oluşturmuş olduk bu nesneyi özellikle tcno-yaş v.b durumlarda kullanabilirsiniz.
Sonuç
Yukarıda belirttiğimiz kodların sonucunu alttaki Result sekmesinde kontrol edebilirsiniz.
murat abi teşekkürler
Rica ederim.
Ufak bir bug;
Dışarıdan metin kopyalayıp içerisine yapıştırdığında metin girişi yapılabiliyor.
$(document).ready(function() {
$(“.number”).keydown(function (e) {
// backspace, delete, tab, escape, enter and vb tuşlara izin vermek için.
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Ctrl+A Tuş kobinasyonuna izin vermek için.
(e.keyCode == 65 && e.ctrlKey === true) ||
// Ctrl+C Tuş kobinasyonuna izin vermek için.
(e.keyCode == 67 && e.ctrlKey === true) ||
// Ctrl+X Tuş kobinasyonuna izin vermek için.
(e.keyCode == 88 && e.ctrlKey === true) ||
// home, end, left, right gibi tuşlara izin vermek için.
(e.keyCode >= 35 && e.keyCode <= 39)) {
return;
}
// Basılan Tuş takımının Sayısal bir değer taşıdığından emin olmak için.
if ((e.shiftKey || (e.keyCode 57)) && (e.keyCode 105)) {
e.preventDefault();
}
});
});
= 48 && event.keyCode
Su Sekilde ne kopya ne harf gire bilirsin get veya postla gonderdiysen ordada kontrol etmende fayda var !
Veri girişi sınırlama noktasında yöntem çok. Ben en basit anlamda javascript tarafında bu işin anlaşılır bir kod ile nasıl yapılabileceğini belirttim yoksa bu belirtmiş olduğunuz koda dahi ihtiyaç olmadan bir üst seviyeye daha çıkıp regex ile tek satırda veri giriş kontrolü de yapmak mümkün. Bu arada kodu paylaştığın için teşekkürler, makaleyi ziyaret eden arkadaşlar makale içerisindeki kodun bir üst hali için belirttiğiniz kodu da kullanabilirler yada daha da iyi bir yöntem isterlerse regex konusunu bloğum içerisinden araştırabilirler.