2011-08-22 22 views
5

Bien, necesito ayuda con una expresión regular reemplazar en javascript.javascript expresión regular, permitir solo números y comas

Tengo esta función que saca todo pero números ... pero también necesito permitir comas.

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

sigo siendo bastante nublado en la sintaxis de expresiones regulares, así que si alguien me podría ayudar me sería de gran aprecio.

Respuesta

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

Cuando se utiliza corchetes y un^después del paréntesis abierto buscas cada carácter que no sea una de las que existen entre corchetes, por lo que si se utiliza este método y la búsqueda de todo lo que no es un número o una coma debería funcionar bien.

+0

Ok consiguió. Simplemente ponga un corchete con^y agregue la coma. Gracias. – John

0

utilizar un personajes de clase:

/[^\d,]+/g 
0

Este código es grande, puede elegir el modelo de expresión regular que desea, si no se permite el carácter, se elimina.

<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')" /> 
Cuestiones relacionadas