Regex that matches integers in between whitespace or start/end of string only

This just allow positive integers.

^[0-9]*[1-9][0-9]*$

You could use lookaround instead if all you want to match is whitespace:

(?<=\s|^)\d+(?=\s|$)

All you want is the below regex:

^\d+$

Similar to manojlds but includes the optional negative/positive numbers:

var regex = /^[-+]?\d+$/;

EDIT

If you don't want to allow zeros in the front (023 becomes invalid), you could write it this way:

var regex = /^[-+]?[1-9]\d*$/;

EDIT 2

As @DmitriyLezhnev pointed out, if you want to allow the number 0 to be valid by itself but still invalid when in front of other numbers (example: 0 is valid, but 023 is invalid). Then you could use

var regex = /^([+-]?[1-9]\d*|0)$/

Tags:

Regex