Javascript 字段仅接受5个整数&;2位小数

Javascript 字段仅接受5个整数&;2位小数,javascript,html,jsp,Javascript,Html,Jsp,我想对权重字段添加一个限制,使其只接受5个整数和2个小数。我曾尝试过低于正则表达式,但面临同样的问题 /^(\d{1,5})(\.\d{1,2})?$/ 字段不应接受第6个整数 代码: 输入重量: 函数myFunction(){ var x=document.getElementById(“权重”).value; var regexp=/^(\d{1,5})(\d{1,2})$/g; var结果=x.match(regexp); 警报(结果); } 您可以尝试以下方法: 说明: 保留一个变

我想对权重字段添加一个限制,使其只接受5个整数和2个小数。我曾尝试过低于正则表达式,但面临同样的问题

/^(\d{1,5})(\.\d{1,2})?$/
字段不应接受第6个整数

代码:
输入重量:
函数myFunction(){
var x=document.getElementById(“权重”).value;
var regexp=/^(\d{1,5})(\d{1,2})$/g;
var结果=x.match(regexp);
警报(结果);
}

您可以尝试以下方法:

说明:
  • 保留一个变量
    previousValue
    ,以保存最后一个正确的值。默认情况下,它将为空
  • 验证输入值。若值不正确,则停止事件并将previousValue设置为输入值
  • 在有效输入上,将当前值设置为上一个值
验证条件:
  • 输入必须有数字(
    0-9
    )和十进制(
  • 整数部分最多可以有
    5个
    数字
  • 小数部分最多可以有
    2个
    数字
var-previousValue=”“;
函数myFunction(事件){
this.value=this.value | |“”;
if(validateInput(this.value)){
event.preventDefault();
this.value=先前的值;
}
否则{
previousValue=this.value
}
}
函数validateInput(值){
var regex=/^[0-9.]*$/;
var valid=正则表达式测试(值);
var parts=值。拆分(“.”);
返回(!valid | |)
零件长度>2||
零件[0]。长度>5 | |
(零件[1]和零件[1]。长度>2)
)
}
函数registerEvents(){
document.getElementById('weight').addEventListener('keyup',myFunction)
}
registerEvents()
输入重量:

您还可以分享您在何处使用此代码吗?Hi Rajesh,我正在尝试在调用onKeyUp事件的函数中使用它。请分享相关的必要详细信息,以便您获得更好的解决方案Rajesh,感谢您的解决方案。它是有效的,面临着退格的问题,但通过检查关键代码,我们可以避免这种情况。非常感谢。你能告诉我是什么问题吗?我指的是复制的步骤。此外,我还添加了解释和指针。如果我尝试选择多个字符,尝试删除或使用backspace,希望它能有所帮助,因为该字段没有清除。此外,如果我们尝试在输入1个整数后使用backspace,则不会清除该字段