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

时间:2018-10-23 22:21:05

标签: javascript jquery html validation

我正在考虑用户可以输入数字QApplication::setAttribute(Qt::AA_NativeWindows); 并使用jquery验证输入的所有可能性。

在输入字段中,我仅输入了一个简单的点'。'

<input>

,并且此if语句执行时返回的响应为空。有一个“。”在其中加点,从逻辑上讲,它应该跳过此步骤并执行else告诉我们它不为空。

我还测试了输入“ 1”。

不完整
if($("#timetaken").val() == "")

,它返回-1,表示“。”不在那里而被忽略。

问题是有没有办法在类型为console.log($("#timetaken").val().toString().indexOf(".")); 的标记中验证这两个输入?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您尝试用一些非数字字符(例如单个点)来测试number输入。是的,请确保空白通过。

我建议您根据需要使用text输入和regular expression来测试值。此输入类型没有任何奇怪的行为或限制,“ 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