我正在考虑用户可以输入数字QApplication::setAttribute(Qt::AA_NativeWindows);
并使用jquery验证输入的所有可能性。
在输入字段中,我仅输入了一个简单的点'。'
<input>
,并且此if语句执行时返回的响应为空。有一个“。”在其中加点,从逻辑上讲,它应该跳过此步骤并执行else告诉我们它不为空。
我还测试了输入“ 1”。
不完整if($("#timetaken").val() == "")
,它返回-1,表示“。”不在那里而被忽略。
问题是有没有办法在类型为console.log($("#timetaken").val().toString().indexOf("."));
的标记中验证这两个输入?
谢谢。
答案 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。