2017-10-01 8 views
0

ユーザーが数字を入力するときに、「ステップ」を1000単位で指定できます。しかし、何千ものカンマ区切りで増分が起こるために、なぜ「1000」の代わりに「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>

答えて

2

あなたはtype="number"に固執したい場合ので、それは、実行することはできません:クロムレポートなど

  • を値に一致している必要があります次の正規表現は - ?(\ d + | \ d +。\ d + |。\ d +)([eE] [ - +]?\ d +)?

  • 仕様が言及したよう:= floating-point number

値は、そのスペックは全くコンマの使用に言及していない参照するには、上記のリンクに従ってください。


あなたはtype="text"に切り替えたい場合は、次の

document.getElementById('salary').addEventListener('input', event => 
 
    event.target.value = (parseInt(event.target.value.replace(/[^\d]+/gi, '')) || 0).toLocaleString('en-US') 
 
);
<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>

関連する問題