我想限制<input type=number>
仅接受2的权力,例如1,2,4,8,16 ......
是否有纯HTML解决方案,或者我应该使用javascript?
答案 0 :(得分:1)
你肯定必须使用脚本......在html中没有静态解决方案来检测该模式.......然而
如果你想与静态或动态字符串模式匹配,那么在html中你可以选择使用&#39; pattern&#39;一些正则表达式模式的属性..例如......
你可以使用<input type=text pattern='^\d\d/\d\d/\d\d\d\d$' >
强制用户以dd / MM / yyyy的模式输入日期,您可以在http://regexone.com上了解有关正则表达式的更多信息...
正则表达式代表正则表达式
答案 1 :(得分:1)
我猜你需要javascript。对此没有纯HTML解决方案。
答案 2 :(得分:0)
我将发布我的javascript方法来执行此操作(因为答案说纯HTML不可能)
<input id="koko" type="number" min=1 onchange="applyChange(validate(this))">
<span id='note' hidden><font color=red>Please enter powers of two</font>
</span>
<script>
var saver=1;
function applyChange(num)
{
document.getElementById('koko').value=num;
}
function validate(input)
{
document.getElementById('note').hidden=true;
var number=input.value;
if(Number.isInteger(Math.log2(number)))
return (saver=number);
else
{
document.getElementById('note').hidden=false;
return saver;
}
}
</script>