Input takes only number & single decimal

Only number input

HTML

<h1>Input takes only number & single decimal</h1>

<hr>
Input <input type="text" id="txtnumber">

CSS

body{font-family: calibri;font-size: 12px;}
h1{text-align:center;font-size:15px;}
#vmsg{display:none;}

JavaScript

//Input takes only number & single decimal    
$("#txtnumber").keydown(function (event) {
        if (event.shiftKey == true) {
            event.preventDefault();
        }
        if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190 || event.keyCode == 110) {
        } else {
            event.preventDefault();
        }
        if (($(this).val().indexOf('.') !== -1 && event.keyCode == 190) || $(this).val().indexOf('.') !== -1 && event.keyCode == 110)//Allow only one time decimal to input
            event.preventDefault();
    });