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