如何使用jquery限制文本字段中的数字
我想在我的文本框中限制最多两个数字。但是当一个点(即一个点)出现时,限制必须解除,在该点之后,限制可以扩展到4 也就是说,如果我尝试键入100,则启用限制并限制键入最多10。但是如果我键入10.303,则启用我如何使用jquery限制文本字段中的数字,jquery,jsp,Jquery,Jsp,我想在我的文本框中限制最多两个数字。但是当一个点(即一个点)出现时,限制必须解除,在该点之后,限制可以扩展到4 也就是说,如果我尝试键入100,则启用限制并限制键入最多10。但是如果我键入10.303,则启用我 我是jquery新手。我尝试了很多方法,但都不管用。任何帮助都是非常值得的以下是解决方案: 试试这个: $(函数(){ $(“.txt”).on(“键控”,函数(事件){ //不处理backspace、delete、pgup/pgdn、home/end或箭头键: 如果(event.ke
我是jquery新手。我尝试了很多方法,但都不管用。任何帮助都是非常值得的以下是解决方案: 试试这个:
$(函数(){
$(“.txt”).on(“键控”,函数(事件){
//不处理backspace、delete、pgup/pgdn、home/end或箭头键:
如果(event.keyCode==8 | | event.keyCode==46 | | event.keyCode>=33&&event.keyCode 1)
{
shift();
deplaces=件。连接(“”)。替换(“”-“”);
}
//大于99.9999的句柄数…:
如果(整数>99.9999 | |整数===99.9999&&parseInt(deplaces)>0)
{
整数=“99”;
decPlaces=getZeroedDecPlaces(decPlaces);
警报(“编号必须介于0和99之间”);
}//…且小于0:
else if(parseInt(整数)<0)
{
整数=“0”;
decPlaces=getZeroedDecPlaces(decPlaces);
警报(“编号必须介于0和99之间”);
}
//处理超过四位小数:
如果(deplaces.length>4)
{
deplaces=deplaces.substr(0,4);
警报(“数字不能超过四位小数”);
}
var newVal=hasDecPlace?整数+'.+deplaces:整数;
$(currentEl).val(newVal);
});
函数getZeroedDecPlaces(decPlaces){
如果(deplaces=='')返回“”;
else if(deplaces.length==1)返回“0”;
否则如果(deplaces.length>=2)返回“00”;
}
});
以下是解决方案:
试试这个:
$(函数(){
$(“.txt”).on(“键控”,函数(事件){
//不处理backspace、delete、pgup/pgdn、home/end或箭头键:
如果(event.keyCode==8 | | event.keyCode==46 | | event.keyCode>=33&&event.keyCode 1)
{
shift();
deplaces=件。连接(“”)。替换(“”-“”);
}
//大于99.9999的句柄数…:
如果(整数>99.9999 | |整数===99.9999&&parseInt(deplaces)>0)
{
整数=“99”;
decPlaces=getZeroedDecPlaces(decPlaces);
警报(“编号必须介于0和99之间”);
}//…且小于0:
else if(parseInt(整数)<0)
{
整数=“0”;
decPlaces=getZeroedDecPlaces(decPlaces);
警报(“编号必须介于0和99之间”);
}
//处理超过四位小数:
如果(deplaces.length>4)
{
deplaces=deplaces.substr(0,4);
警报(“数字不能超过四位小数”);
}
var newVal=hasDecPlace?整数+'.+deplaces:整数;
$(currentEl).val(newVal);
});
函数getZeroedDecPlaces(decPlaces){
如果(deplaces=='')返回“”;
else if(deplaces.length==1)返回“0”;
否则如果(deplaces.length>=2)返回“00”;
}
});
你试过吗?包括在OPyes中..但不起作用..使用maxlength我可以限制使用html。但是如何为点(.)符号循环?你试过吗?包括在OPyes中..但不起作用..使用maxlength我可以限制使用html。但是如何为点(.)符号循环
$(function () {
$(".txt").on("keyup", function(event) {
// don't handle backspace, delete, pgup/pgdn, home/end, or arrow keys:
if (event.keyCode === 8 || event.keyCode === 46 || event.keyCode >= 33 && event.keyCode <= 40) return false;
var currentEl = $(this);
var value = $(currentEl).val();
// remove letters...
value = value.replace(/[^0-9.-]/g, "");
var hasDecPlace = value.match(/\./);
// separate integer from decimal places:
var pieces = value.split('.');
var integer = pieces[0].replace('-', '');
var decPlaces = ""
if (pieces.length > 1)
{
pieces.shift();
decPlaces = pieces.join('').replace('-', '');
}
// handle numbers greater than 99.9999... :
if (integer > 99.9999 || integer === 99.9999 && parseInt(decPlaces) > 0)
{
integer = "99";
decPlaces = getZeroedDecPlaces(decPlaces);
alert("number must be between 0 and 99");
} // ...and less than 0:
else if (parseInt(integer) < 0)
{
integer = "0";
decPlaces = getZeroedDecPlaces(decPlaces);
alert("number must be between 0 and 99");
}
// handle more than four decimal places:
if (decPlaces.length > 4)
{
decPlaces = decPlaces.substr(0, 4);
alert("number cannot have more than four decimal places");
}
var newVal = hasDecPlace ? integer + '.' + decPlaces : integer;
$(currentEl).val(newVal);
});
function getZeroedDecPlaces(decPlaces) {
if (decPlaces === '') return '';
else if (decPlaces.length === 1) return '0';
else if (decPlaces.length >= 2) return '00';
}
});