Regex for number check below a value
Regex is not suited to dealing with ranges like this, but anyway this should work:
/^(0?[1-9]|1[012])$/
Description:
^ match start of the string
(0? optional zero
[1-9] any number between 1 and 9
|1[012]) or match 1 followed by either a 0, 1, 2 i.e. 10, 11, 12.
$ match end of string