txt.Attributes.Add("class", "numbersonly");
In blur or textbox leaving, or in button click call the below function
function IsDecimal(Salary) { var _Salary = $('#' + Salary); if (!_Salary.isValidScale(6, 2)) { _Salary.focus(); alert('Invalid decimal points'); return false; } return true; } /*Numeric validation starts*/ //Allows decimal places with only one .(decimal point or full stop) $(".numbersonly").keydown(function (event) { // Prevent shift key since its not needed if (event.shiftKey == true) { event.preventDefault(); } // Allow Only: keyboard 0-9, numpad 0-9 if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) //Allow Only: backspace, tab, left arrow, right arrow || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 //Allow Only: delete, home, end || event.keyCode == 46 || event.keyCode == 36 || event.keyCode == 35 //Allow Only: .(full stop [keyboar, numpad]) and check if there is more than one .(full stop) || ((event.keyCode == 190 || event.keyCode == 110) && $(this).val().indexOf('.') < 0) ) { // Allow normal operation } else { // Prevent the rest event.preventDefault(); } }); //Validate the count of precision and scale of a decimal value //ctrlID.isValidScale(6,2); jQuery.fn.isValidScale = function (precision, scale) { //return !Number.isNaN(num) && parseFloat(num).toFixed(scale).toString() === this.val(); /* debugger; var ina = !isNaN(num); var len = decimalPlaces(num) var isTrue = decimalPlaces(num) <= parseInt(scale) var tr = !isNaN(num) && isTrue;*/ var num = parseFloat(this.val()) || 0; var intPart = parseInt(this.val()).toString(); //Convert to string //if input control is empty if (num.length == 0) return true; if (intPart.length > parseInt(precision)) return false; return !isNaN(num) && decimalPlaces(num) <= parseInt(scale); }; function decimalPlaces(n) { var a; var len = (a = (n.toString().charAt(0) == '-' ? n - 1 : n + 1).toString().replace(/^-?[0-9]+\.?([0-9]+)$/, '$1').length) >= 1 ? a : 0; return parseInt(len); } $(".intonly").keydown(function (event) { // Prevent shift key since its not needed if (event.shiftKey == true) { event.preventDefault(); } // Allow Only: keyboard 0-9, numpad 0-9, backspace, tab, left arrow, right arrow, delete, home, end 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 == 36 || event.keyCode == 35) { // Allow normal operation } else { // Prevent the rest event.preventDefault(); } }); var isValidCurrency = function (input) { var num = parseFloat(input); return !Number.isNaN(num) && parseFloat(num).toFixed(2).toString() === input; }; /*Numeric validation ends*/
1 comment:
I have found a simple solution for this problem @ http://sourcecodehub.com/article/409/how-to-allow-numbers-backspace-delete-left-and-right-arrow-and-tab-keys-to-the-textbox-using-javascr
You can also download the Source Codes there.
Post a Comment