Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使文本框只接受0-10之间的数字和小数点后0.5之间的数字?_Javascript_Html_Input_Html Input - Fatal编程技术网

Javascript 如何使文本框只接受0-10之间的数字和小数点后0.5之间的数字?

Javascript 如何使文本框只接受0-10之间的数字和小数点后0.5之间的数字?,javascript,html,input,html-input,Javascript,Html,Input,Html Input,我有一个文本框,用户只需输入0-10之间的数字,允许小数点。5 所以你可以输入0或0.5或1.5或4等,除此之外别无选择。 在这里,我可以添加所有数字: <script> function handleChange(input) { if (input.value < 0) input.value = 0; if (input.value > 10) input.value = 10; } </script> <input typ

我有一个文本框,用户只需输入0-10之间的数字,允许小数点。5 所以你可以输入0或0.5或1.5或4等,除此之外别无选择。 在这里,我可以添加所有数字:

<script>
  function handleChange(input) {
    if (input.value < 0) input.value = 0;
    if (input.value > 10) input.value = 10;
  }
</script>
<input type="text" onchange="handleChange(this);" />

功能手柄更改(输入){
如果(input.value<0)input.value=0;
如果(input.value>10)input.value=10;
}

我需要提醒输入错误并重置该文本框。

扩展@Vishnu Badhoriya的评论,我们也可以这样做:

HTML

<input id="number" type="number" min="0" max="10" step="0.5" onchange="roundHalf(this.value)">

JS(jQuery)

函数半圆形(num){
如果(数值>10){
$('数字').val(10);
}else if(num<0){
$('数字').val(0);
}否则{
$('#number').val(数学四舍五入(num*2)/2);
}
}
您也可以采用非jQuery方法,但我之所以选择这样做,是因为易于演示。这将确保用户不能输入自己的值

请在此处查看代码笔以查看它的作用:


编辑:忘记实现另一个约束,对于0扩展@Vishnu Badhoriya的评论,我们也可以这样做:

HTML

<input id="number" type="number" min="0" max="10" step="0.5" onchange="roundHalf(this.value)">

JS(jQuery)

函数半圆形(num){
如果(数值>10){
$('数字').val(10);
}else if(num<0){
$('数字').val(0);
}否则{
$('#number').val(数学四舍五入(num*2)/2);
}
}
您也可以采用非jQuery方法,但我之所以选择这样做,是因为易于演示。这将确保用户不能输入自己的值

请在此处查看代码笔以查看它的作用:


编辑:忘记实现另一个约束,对于0,您也可以在html5中执行此操作,另一个选项是只使用一个匹配0到10的
模式
属性,不需要Javascript,尽管这无法重置框,只告诉用户输入是正确的invalid@VishnuBhadoriya如何防止用户进入vaues@qww比如,你想阻止什么样的价值观出现entered@VishnuBhadoriya任何不被允许的事情。。。因此,我可以将数字类型替换为文本,并使用步骤5防止从0到10。您也可以在html5中执行此操作。另一个选项是只使用一个匹配0到10的
模式
属性,不需要Javascript,尽管这无法重置框,只告诉用户输入是正确的invalid@VishnuBhadoriya如何防止用户进入vaues@qww比如,你想阻止什么样的价值观出现entered@VishnuBhadoriya任何不被允许的事情。。。因此,我可以将数字类型替换为文本,并使用步骤阻止从0到10。5但我需要阻止所有高于10和低于0的值。是的,上述最小值和最大值属性将阻止开始输入<0和>10。好的,我相信他希望手动输入更高的数字也受到限制。我确实忘记了那个限制。这应该很简单。您只需在roundHalf()函数中添加问题中实现的if条件,如果该值大于10,则将输入值更改为10。但我需要阻止所有大于10和小于0的值是,上述最小值和最大值属性将阻止开始输入<0和>10好,我相信他希望手动输入更高的数字也受到限制。我确实忘记了那个限制。这应该很简单。只需在roundHalf()函数中添加问题中实现的if条件,如果该值大于10,则将输入值更改为10。