数字输入字段排除中间的数字范围

时间:2016-12-02 13:48:38

标签: javascript html5 input attributes

在输入字段中,如何排除数字范围

e.g。允许用户放置value < -5value > 5,不允许-4到4之间的任何内容。我不是要求maxmin

<input type="number" id="input" step="1" />

由于

1 个答案:

答案 0 :(得分:1)

首先将excmin和excmax属性添加到目标元素(在本例中为id =“input”的元素)到您想要的值。
然后调用此函数并在页面加载时将元素传递给此函数:

function exceptionrange(element)
{
 var excmin=parseInt(element.getAttribute("excmin"))-1;
 var excmax=parseInt(element.getAttribute("excmax"))+1;
 element.onchange=function()
 {
  if(element.value<excmax&&element.value>excmin)
  {
   element.value=Math.round((parseInt(element.value)-excmin)/(excmin-excmax))*(excmin-excmax)+excmin;
  }
 };
}

现在,每当用户输入此范围内的值时,当用户输入数字时,它会将其更改为接近允许值。
这就是脚本的样子:

function exceptionrange(element)
{
 var excmin=parseInt(element.getAttribute("excmin"))-1;
 var excmax=parseInt(element.getAttribute("excmax"))+1;
 element.onchange=function()
 {
  if(element.value<excmax&&element.value>excmin)
  {
   element.value=Math.round((parseInt(element.value)-excmin)/(excmin-excmax))*(excmin-excmax)+excmin;
  }
 };
}
window.addEventListener("load",function()
{
 var input=document.getElementById("input");
 exceptionrange(input);
});

这是输入元素:

<input type="number" id="input" step="1" excmin="-4" excmax="4"/>