[英]How to restrict decimal value for two digits and restrict decimal more than one in numeric value
我有一个金额字段,我想限制用户使用小数点后不能使用两个以上的值:
我正在使用以下regix,因为它无法正常工作可以提供任何帮助。
function validate(evt) {
if (evt.keyCode == 8) { return true; }// for backspace problem in mozilla
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = /[0-9 ]|\,\d{1,2}/;
if (!regex.test(key))
{
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
}
实际上,只有通过设置数字字段的STEP和MAX例如
<form> <input type="number" name="myNumber" required=true step=".01"> <button>send</button> </form>
请让我知道这是否是您要查找的内容,但这意味着输入的任何值都必须是数字(因此只能是1个小数点),并且必须小于或等于1(如果您不想将其设置为.99,包括1),并且必须以0.01为增量(因此只能有2个小数位。
只要重新阅读您的问题,您就可以删除最大值(我以为我读的不超过1.0)
var previousValue; function numberChanged(element){ if(validateMe(element)==false){ element.value=previousValue; }else{ previousValue=element.value; } function validateMe(element){ wholeNumber=element.value.split(".")[0]; if(element.value.split(".").length==1){ if(wholeNumber<-1 || > 999999999){ return false; } }else if(element.value.split(".").length==2){ decimalValue=element.value.split(".")[1]; if(decimalValue>-1 && decimalValue<100){ if(wholeNumber<-1 || > 999999999){ return false; } }else{ return false; } }else{ return false; } }
<input type="text" id="myNumber" onChange="numberChanged(this)" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.