数字输入框的逗号分隔步骤

时间:2017-10-01 19:34:00

标签: javascript jquery html html5

我可以指定'步骤'用户输入数字时的千位增量。但为什么我不能写#1,000;'而不是' 1000'数千个逗号分隔的增量是多少?怎么做?



<div class="input"><label for="salary">Salary</label>
<input class='inp_cont' id="salary" name="salary" placeholder="Enter your salary" step="1000" min="0" required="" type="number"></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

如果您想坚持type="number",则无法完成,因为:

  • Chrome报告:

      

    该值必须与以下正则表达式匹配: - ?(\ d + | \ d +。\ d + |。\ d +)([eE] [ - +]?\ d +)?

  • 如规范所述:

      

    value = floating-point number

按照上面的链接查看该规范根本没有提及使用逗号。

如果您想切换到type="text"

&#13;
&#13;
document.getElementById('salary').addEventListener('input', event =>
  event.target.value = (parseInt(event.target.value.replace(/[^\d]+/gi, '')) || 0).toLocaleString('en-US')
);
&#13;
<div class="input">
  <label for="salary">Salary</label>
  <input class='inp_cont' id="salary" pattern="^[\d,]+$" name="salary" placeholder="Enter your salary" required="" type="text">
</div>
&#13;
&#13;
&#13;