如果仅输入数字而不是文本字段,则在输入字段中替换逗号:在文本字段中

时间:2014-02-08 13:24:02

标签: jquery html css

我有一个用于删除文本字段中逗号的运行代码, 但我只需要在输入的值为数字时删除逗号,然后删除逗号,但不删除文本

代码:

JS :
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
    $(function(){
        $("#textField").on('keyup', function(){
            this.value=this.value.replace(/,/g, "");
        });
    });
</script>      

HTML : 
<input type="text" id="textField" placeholder="" value="" />

Fiddle Here

4 个答案:

答案 0 :(得分:2)

使用isNaN()方法检查它是否为数字

<script>
    $(function(){
        $("#textField").on('keyup', function(){
            if(!isNaN(this.value.replace(/,/g, "")))
                 this.value=this.value.replace(/,/g, "");
        });
    });
</script>

Fiddle Demo

或者您可以使用match()方法

使用正则表达式
<script>
    $(function(){
        $("#textField").on('keyup', function(){
            if(this.value.match(/^\d*,\d*$/))
                 this.value=this.value.replace(/,/g, "");
        });
    });
</script>

Fiddle Demo

答案 1 :(得分:0)

if(this.value != null && this.value.match(/^\d{1,3}(,?\d{3})*?(.\d*)?$/)){
    this.value=this.value.replace(/,/g, "");
}

答案 2 :(得分:0)

试试这个,

$("#textField").on('keyup', function(){
    if(this.value.match(/[0-9]/g) != null) {
        this.value=this.value.replace(/,/g, "");
    }
});

答案 3 :(得分:0)

试试这个,不需要导入jQuery,在所有浏览器中都能正常工作。

<input type="text" id="textField" placeholder="" value="" onkeyup="this.value = this.value.replace(/,/g, '')"/>