如何让文本框只接受 0-10 的数字,并且只接受小数部分的 .5?
How to make a textbox only accept numbers from 0-10 and only .5 from decimal part?
我有一个文本框,用户只能在其中输入 0-10 之间的值,允许的小数部分是 .5
所以可以输入 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);" />
我需要提醒输入错误并重置该文本框。
扩展@Vishnu Badhoriya 的评论,我们也可以这样做:
HTML
<input id="number" type="number" min="0" max="10" step="0.5" onchange="roundHalf(this.value)">
JS (jQuery)
function roundHalf(num) {
if (num > 10) {
$('#number').val(10);
} else if (num < 0) {
$('#number').val(0);
} else {
$('#number').val(Math.round(num*2)/2);
}
}
您也可以采用非 jQuery 方法,但我选择这样做只是为了便于演示。这将确保用户无法输入自己的值。
在此处查看 CodePen 以查看它的运行情况:
https://codepen.io/anon/pen/RBoJGB
编辑:忘记实施其他约束,0 <= num <= 10。将其添加到代码片段中。
我有一个文本框,用户只能在其中输入 0-10 之间的值,允许的小数部分是 .5 所以可以输入 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);" />
我需要提醒输入错误并重置该文本框。
扩展@Vishnu Badhoriya 的评论,我们也可以这样做:
HTML
<input id="number" type="number" min="0" max="10" step="0.5" onchange="roundHalf(this.value)">
JS (jQuery)
function roundHalf(num) {
if (num > 10) {
$('#number').val(10);
} else if (num < 0) {
$('#number').val(0);
} else {
$('#number').val(Math.round(num*2)/2);
}
}
您也可以采用非 jQuery 方法,但我选择这样做只是为了便于演示。这将确保用户无法输入自己的值。
在此处查看 CodePen 以查看它的运行情况:
https://codepen.io/anon/pen/RBoJGB
编辑:忘记实施其他约束,0 <= num <= 10。将其添加到代码片段中。