2014-02-08 14 views
3

我有一個運行代碼用於在文本字段中刪除逗號 但我只需在輸入值爲時刪除逗號然後逗號應刪除,而不是文本如果只輸入數字而不是文本,則在輸入字段中替換逗號:在文本字段中

代碼:

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

回答

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

這不會識別任何值,其中包含「。」或「,」,數字或其他。 –

+1

好點,如果它甚至沒有看到逗號,顯然很愚蠢!我認爲@Pranav的答案在這個意義上更可靠,但讓我們看看我們是否至少可以改進這個正則表達式。已更新以包含逗號和句點。 – Miro

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

+0

此代碼無法正常工作。 顯示錯誤未捕獲SyntaxError:意外的令牌這 –

+0

工作正常:謝謝:-) –

+1

@syed高興地幫助 –

0

使用正則表達式試試這個,

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

試試這個,不需要導入jQuery,也可以在所有瀏覽器中正常工作。

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