Co jest nieujemną Ogólna liczba?
Nieujemna liczba całkowita to "liczba całkowita, która ma wartość 0 lub dodatnią."
Źródło: http://mathworld.wolfram.com/NonnegativeInteger.html
Innymi słowy, szukasz walidacji nieujemną liczbą całkowitą.
Odpowiedzi powyżej są niewystarczające, ponieważ nie obejmują liczby całkowite takie jak -0
i -0000
, który technicznie, po parsowania, stają nieujemnymi liczbami całkowitymi. Inne odpowiedzi również nie potwierdzają liczb całkowitych z numerem +
z przodu.
Można użyć następującego wyrażenia regularnego do walidacji:
/^(\+?\d+|-?0+)$/
Try it Online!
Objaśnienie:
^ # 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
następujących przypadków testowych zwróci true: -0
, -0000
, 0
, 00000
, +0
, +0000
, 1
, 12345
, +1
, +1234
. Następujące testy zwracają fałsz: -12.3
, 123.4
, -1234
, -1
.
Uwaga:To wyrażenie nie działa dla ciągów całkowitych zapisanych w notacji naukowej.
Myślę, że to pytanie powinno być lepszym komentarzem do tej odpowiedzi ... i powinien tam odpowiadać sam @ Karim. – Bergi
Należy zauważyć, że ten kod nie jest całkowicie poprawny. Na przykład sprawdza poprawność łańcucha takiego jak '000 ... (10 000 razy) .. 000', który nie jest" liczbą ". – georg