我找到了许多关于这个问题的链接,但没有一个正确(完全)回答问题。 如何限制用户在文本框中只允许一个小数点。 1.3,5.6等(用户不能输入两位小数)。而且用户也不能将其他无效数据粘贴到文本字段中。如何在javascript或jquery中实现这一点?
答案 0 :(得分:1)
您不一定需要javascript,使用HTML5模式属性输入:
<form>
<input type="text" required pattern="[-+]?(\d*[.])?\d+">
</form>
只要您尝试提交表单,浏览器就会显示错误消息。在旧版浏览器中,您可以polyfill这种不存在的功能。
答案 1 :(得分:0)
我认为你需要这个:Formance.js github:https://github.com/omarshammas/jquery.formance
答案 2 :(得分:0)
我知道这是对这个问题的回复很晚,但由于这里没有提供令人满意的答案,我将分享我的解决方案以供将来参考。
您可以将此功能添加到您的javascript文件中,该文件只允许该特定文本框输入中的一个小数点:
function oneDecimalOnly(element) {
var charCodeEnteredEntered = (event.which) ? event.which :
(window.event.keyCode) ? window.event.keyCode : -1;
// '.' decimal point
if (charCodeEnteredEntered === 46) {
// Allow only 1 decimal point
if ((element.value) && (element.value.indexOf('.') >= 0))
return false;
else
return true;
}
return false;
}
<form>
<input type="text" name="decimal" id="decimal" onkeypress="return oneDecimalOnly(this);">
</form>
我希望这会好起来的。有关更多信息,请访问http://www.c-sharpcorner.com/blogs/allow-only-numeric-values-and-allow-only-one-dot-in-textbox-using-javascript1,我发现它非常有用。