大家好我写了一个剧本,只允许十进制在文本框小数验证工作不正常
function onlyDecimal(evt) {
if (!(evt.keyCode == 46 || (evt.keyCode >= 48 && evt.keyCode <= 57)))
return false;
var parts = evt.srcElement.value.split('.');
if (parts.length > 2)
return false;
if (evt.keyCode == 46)
return (parts.length == 1);
if (parts[0].length >= 15)
return false;
if (parts[1].length >= 3)
return false;
}
<asp:TextBox ID="txtDecimal" runat="server" OnKeyPress="return onlyDecimal(event)" />
这是只允许以下输入
1.000
12.000
123.123
但我想限制小数点后面的小数点后面只有3位数字,它最多可以接受15位数,所以有些人可以帮我像下面那样1234.123,12345.123
等等
另外如果我进入12.123
并试图对其进行编辑不会让我,直到我清除值编辑的值的小数部分
而不是试图赶上所有排列的进入,这将是容易得多(并且很常见的),并允许所有条目,然后验证它,当你提交。这变得更容易,并且比上面的事件代码更可读。 – Paddy