[英]Number validation in html form on input of type number
我正在考虑用户可以输入数字类型的<input>
并使用jquery验证输入的所有可能性。
在输入字段中,我只输入了一个简单的点“。”。
if($("#timetaken").val() == "")
并执行此if语句,并返回响应为空。 有一个“。” 在其中加点,从逻辑上讲,它应该跳过此步骤并执行else告诉我们它不为空。
我还测试了输入“ 1”。 那是不完整的
console.log($("#timetaken").val().toString().indexOf("."));
并返回-1,表示“。” 不在那里而被忽略。
问题是,有没有一种方法可以在类型为<input>
的数字类型标签中验证这两个输入?
谢谢。
如果您尝试使用一些非数字字符(例如单个点)来测试number
输入。是的,请确保空白通过。
我建议您使用带有正则表达式的text
输入来测试所需的值。 此输入类型没有任何奇怪的行为或限制,并且“ regex”可以针对您的任何需求精确测试该值。
从我的问题中我可以读得出的是:
$("#go").on("click",function(){ var value = $("#test").val(); var regex = /((\\d){1,9}\\.?\\d*)|(\\d*\\.?(\\d){1,9})/; // {1,9} means at least 1 and up to 9 digits. if(regex.test(value)){ console.log("Value is ok"); }else{ console.log("Value fails."); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="test"> <button id="go">Test</button>
因此浮点数或自然数都可以。 没有其他的。
正则表达式测试仪: regex101 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.