I think my original thinking was "validate this thing as an integer" then validate it as being in range... it looks like I dropped the - from the first char group at some point so \d+ makes more sense.