繁体   English   中英

输入数字类型时以html形式进行数字验证

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM