Web sitelerinde bazen sadece sayı girebileceğimiz bazı giriş kutucuklarına ihtiyaç duyarız. Bazılarımız bu durumu “Validation” nesnesi ile sağlar. Bir yol daha var tabi üçüncü parti uygulamalar ile de bu kontrollü sağlayabilirsiniz. Fakat bunlardan en kolayı aşağıda sizlerle paylaştığım kod dur.
Bu arada bu kod vasıtasıyla sadece rakam değil örneğin beraberinde “–” karakteri yada sizlerin belirleyeceği her hangi bir karakterinde beraberinde basılmasını sağlayabilirsiniz. Bunun için aşağıda görmüş olduğunuz kod parçacığında ki “OnKeypress” fonksiyonuna ait kodu şu şekilde düzenlemem yetecek; onkeypress=”return SadeceRakam(event,[‘-‘]);”
Aşağıdaki kodu <head></head> tag’leri arasına yazmayı unutmuyoruz !!!
<script type="text/javascript">
function SadeceRakam(e, allowedchars) {
var key = e.charCode == undefined ? e.keyCode : e.charCode;
if ((/^[0-9]+$/.test(String.fromCharCode(key))) || key == 0 || key == 13 || isPassKey(key, allowedchars)) { return true; }
else { return false; }
}
function isPassKey(key, allowedchars) {
if (allowedchars != null) {
for (var i = 0; i < allowedchars.length; i++) {
if (allowedchars[i] == String.fromCharCode(key))
return true;
}
}
return false;
}
function SadeceRakamBlur(e, clear) {
var nesne = e.target ? e.target : e.srcElement;
var val = nesne.value;
val = val.replace(/^\s+|\s+$/g, "");
if (clear) val = val.replace(/\s{2,}/g, " ");
nesne.value = val;
}
</script>
Bununla birlikte hangi buton kutusuna bu kodu bağlamak istiyorsak ta aşağıdaki gibi buton kutusuna bağlamayı atlamıyoruz ki çalışsın;
<asp:TextBox ID="txtPhone" runat="server" onkeypress="return SadeceRakam(event);" onblur="SadeceRakam(event,false)" MaxLength="11">