2011-08-22 16 views
5

Ok, ho bisogno di aiuto con un'espressione regolare sostituire in javascript.espressione regolare javascript, consentire solo numeri e virgole

Ho questa funzione che prende tutto fuori ma numeri .. ma ho bisogno di consentire anche le virgole.

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

Sono ancora piuttosto nuvoloso su sintassi regex, quindi se qualcuno mi potrebbe aiutare sarei molto grato.

risposta

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

Quando si utilizza parentesi quadre e un^dopo la parentesi aperta si cerca ogni carattere che non è uno di quelli fra parentesi, quindi se si utilizza questo metodo e la ricerca di tutto ciò che non è un numero o una comma dovrebbe funzionare bene.

+0

Ok ottenuto. Basta mettere una parentesi con^e aggiungere la virgola. Grazie. – John

0

Utilizzare un personaggio di classe:

/[^\d,]+/g 
0

Questo codice è grande, si sceglie il modello di espressione regolare che si desidera, se il carattere non è consentito, viene eliminato.

<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')" /> 
Problemi correlati