¿Cómo hago coincidir también los números negativos con esta expresión regular? Esta expresión regular funciona bien con valores positivos, pero quiero que también permita valores negativos, por ejemplo, -10, -125.5, etc.
^[0-9]\d*(\.\d+)?$
Gracias
Respuestas:
Debe agregar un guión opcional al principio agregando
-?
(?
es un cuantificador que significa una o cero ocurrencias ):^-?[0-9]\d*(\.\d+)?$
Lo verifiqué en Rubular con estos valores:
10.00 -10.00
y ambos coincidieron como se esperaba.
fuente
^-?[0-9]\d*(\.\d+)?$
^[-+]?[0-9]\d*(\.\d+)?$
Algunos ejemplos de expresiones regulares:
Enteros positivos :
Enteros negativos :
Entero :
^-?\d+$
Número positivo :
^\d*\.?\d+$
Número negativo :
^-\d*\.?\d+$
Número positivo o número negativo :
^-?\d*\.{0,1}\d+$
Número de teléfono :
^\+?[\d\s]{3,}$
Teléfono con código :
^\+?[\d\s]+\(?[\d\s]{10,}$
Año 1900-2099 :
^(19|20)[\d]{2,2}$
Fecha (dd mm aaaa, d / m / aaaa, etc.):
^([1-9]|0[1-9]|[12][0-9]|3[01])\D([1-9]|0[1-9]|1[012])\D(19[0-9][0-9]|20[0-9][0-9])$
IP v4 :
^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]){3}$
fuente
No sé por qué lo necesitas primero
[0-9]
.Tratar:
^-?\d*(\.\d+)?$
Actualizar
Si desea asegurarse de tener un dígito en el lugar de las unidades, utilice
^-?\d+(\.\d+)?$
fuente
^-?\d+(\.\d+)?$
de lasACTUALIZADO (13/08/2014): Este es el mejor código para números positivos y negativos =)
(^-?0\.[0-9]*[1-9]+[0-9]*$)|(^-?[1-9]+[0-9]*((\.[0-9]*[1-9]+[0-9]*$)|(\.[0-9]+)))|(^-?[1-9]+[0-9]*$)|(^0$){1}
Intenté con estos números y funciona bien:
-1234454.3435 -98.99 -12.9 -12.34 -10.001 -3 -0.001 -000 -0.00 0 0.00 00000001.1 0.01 1201.0000001 1234454.3435 7638.98701
fuente
-*
a-?
porque coincide-------------
.Esto permitirá un carácter
-
o+
solo cuando esté seguido de un número:^([+-](?=\.?\d))?(\d+)?(\.\d+)?$
fuente
Esto permitirá números enteros positivos y negativos
fuente
Tengo algunos experimentos sobre expresiones regulares en la url de django, que requieren números negativos a positivos
^(?P<pid>(\-\d+|\d+))$
Centrémonos en esta
(\-\d+|\d+)
parte e ignoremos otras, este punto y coma|
significa OR en expresión regular, entonces el valor negativo coincidirá con esta\-\d+
parte y el valor positivo en esta\d+
fuente
Esto funcionó para mí, permitiendo números negativos y positivos :
\-*\d+
Si usa C #:
Regex.Match(someString, @"\-*\d+").Value;
fuente
Simplemente agregue un token 0 o 1:
^-?[0-9]\d*(.\d+)?$
fuente
Solo para números negativos, esto es perfecto.
^-\d*\.?\d+$
fuente
^[+-]?\d{1,18}(\.\d{1,2})?$
acepta valores decimales positivos o negativos.
fuente
Expresión regular para número, punto decimal opcional, negativo opcional:
^-?(\d*\.)?\d+$;
funciona para entero negativo, decimal, negativo con decimal
fuente
^(-?\d+\.)?-?\d+$
permitir:
23425.23425 10.10 100 0 0.00 -100 -10.10 10.-10 -10.-10 -23425.23425 -23425.-23425 0.234
fuente
Si tienes esto
val="-12XXX.0abc23"
y quieres extraer solo el número decimal, en este caso esta expresión regular (^-?[0-9]\d*(\.\d+)?$
) no te ayudará a lograrlo.este es el código correcto con la expresión regular de detección correcta:
var val="-12XXX.0abc23"; val = val.replace(/^\.|[^-?\d\.]|\.(?=.*\.)|^0+(?=\d)/g, ''); console.log(val);
fuente