有没有办法为HTML输入范围类型添加数千个分隔符?

时间:2018-05-23 10:21:14

标签: javascript html numbers output separator

我想为显示的输出添加使用英语约定的千位分隔符。

<input id="number692" oninput="outputnumber692.value=number692.value" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000"><output name="number-692" id="outputnumber692" for="number692">110</output>

我已经阅读了lang =“en-150”属性,但它不起作用。使用JS我只是设法使用onChange事件更改值,但它不会触发 动态。

JSFiddle link

2 个答案:

答案 0 :(得分:2)

您可以将此问题的答案应用于您的问题:
Add a thousands separator to a total with Javascript or jQuery?

// Using function from here: https://stackoverflow.com/questions/2646385/add-a-thousands-separator-to-a-total-with-javascript-or-jquery
function addCommas(nStr) {
    nStr += '';
    var x = nStr.split('.');
    var x1 = x[0];
    var x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
<input id="number692" oninput="outputnumber692.value=addCommas(number692.value)" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000">
<output name="number-692" id="outputnumber692" for="number692">110</output>

或者,在您谈论en-150时,您也可以使用.toLocaleString('en-150')
(但这不是昏迷)

<input id="number692" oninput="outputnumber692.value=(+number692.value).toLocaleString('en-150')" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000">
<output name="number-692" id="outputnumber692" for="number692">110</output>

希望它有所帮助。

答案 1 :(得分:1)

尝试以下方法:

&#13;
&#13;
<input id="number692" oninput="outputnumber692.value=Number(number692.value).toLocaleString()" type="range" lang="en-150" name="number-692" value="110" min="500" max="200000">
<output name="number-692" id="outputnumber692" for="number692">110</output>
&#13;
&#13;
&#13;

有关详细信息,请参阅toLocaleString