2011-08-22 217 views
5

好吧,我需要一些幫助正則表達式替換在JavaScript中。javascript的正則表達式,只允許數字和逗號

我有這個功能需要每一個,但數字..但我需要允許逗號以及。

function validDigits(n){ 
return n.replace(/\D+/g, '');} 

我仍然很陰沉的正則表達式語法,所以如果任何人都可以幫助我,我將不勝感激。

回答

10
function validDigits(n){ 
    return n.replace(/[^\d,]+/g, ''); 
} 

當您使用方括號和^後開括號你搜索所有不是那些括號內的一個字符,因此,如果您使用此方法,並尋找一切,是不是數字或它應該工作得很好。

+0

好了它。只需在^中加一個逗號即可。謝謝。 – John

0

使用一類的人物:

/[^\d,]+/g 
0

此代碼是偉大的,你選擇你想要的正則表達式模式,如果不允許的字符,它刪除。

<script type="text/javascript"> 
var r={ 
'special':/[\W]/g, 
'quotes':/['\''&'\"']/g, 
'notnumbers':/[^\d]/g, 
'notletters':/[A-Za-z]/g, 
'numbercomma':/[^\d,]/g, 
} 

function valid(o,w){ 
o.value = o.value.replace(r[w],''); 
} 
</script> 

HTML

<input type="text" name="login" onkeyup="valid(this,'numbercomma')" /> 
相關問題