Che cosa è un numero intero non negativo?
Un numero intero non negativo è un "numero intero che è 0 o positivo".
Fonte: http://mathworld.wolfram.com/NonnegativeInteger.html
In altre parole, si stanno cercando di convalidare un intero non negativo.
Le risposte sopra riportate sono insufficienti perché non includono numeri interi come -0
e -0000
, che tecnicamente dopo l'analisi diventano numeri interi non negativi. Anche le altre risposte non convalidano numeri interi con +
in primo piano.
È possibile utilizzare la seguente espressione regolare per la convalida:
/^(\+?\d+|-?0+)$/
Try it Online!
Spiegazione:
^ # Beginning of String
( # Capturing Group
\+? # Optional '+' Sign
\d+ # One or More Digits (0 - 9)
| # OR
-? # Optional '-' Sign
0+ # One or More 0 Digits
) # End Capturing Group
$ # End of String
i seguenti casi di test restituiscono vero: -0
, -0000
, 0
, 00000
, +0
, +0000
, 1
, 12345
, +1
, +1234
. I seguenti casi di test restituiscono false: -12.3
, 123.4
, -1234
, -1
.
Nota:Questa espressione regolare non funziona per le stringhe intere scritte in notazione scientifica.
fonte
2018-02-27 01:45:54
Penso che questa domanda dovrebbe essere un commento su quella risposta ... e dovrebbe essere risposto da @Karim stesso. – Bergi
Si noti che questo codice non è completamente corretto. Ad esempio, convalida una stringa come "000 ... (10.000 volte) .. 000' che è difficilmente un" numero ". – georg