input 只允许输入整数 + 用逗号进行三位分割

将输入框数字,每3位用逗号分隔

输入框的值为this.value

JS代码:

function toHaveComma(obj) {
    console.log(obj.value);
    var val = obj.value.toString();
    var length = val.length;
    for (var i = 1; i < length / 3; i++) {
        var temp = val.slice(0, -4 * i + 1);    //从后往前数,来获取前面的字符串
        val = val.replace(temp, temp + ',');    //给前面的字符串后面加一个逗号
    }
    obj.value = val;
}

HTML代码:


解释:
onKeypress只允许输入数字,如果允许输入句号的话,在[\d]改为[\d.]即可

onfocus是将上面分隔用的逗号,删除掉,只显示数字内容

效果:

①只能输入0-9数字;

②假如输入12345,会自动变为12,345

③假如输入框显示的是12,345,输入的时候,又变为12345,改为1234567后,输入框取消焦点后,又变为1,234,567

你可能感兴趣的:(input 只允许输入整数 + 用逗号进行三位分割)