this is because RegEx works with STRINGS not numbers, so for 2 digit number ranges like: 1 to 16, you CAN NOT use /[1-16]/ = ERROR NOT A VALID RANGE
You need to do this:
/([1-9]|1[0-6])/;
NOTE: in the above you also need to include VALUE < 17, otherwise regex will match anything that has 6 in it, like 26, 36 etc., as well as other number that you don't want.
You can also go this route:
/1|2|3...|15|16/
in the above you need to replace ... with |4|5.. etc.
See here for REGEX for Ranges: https://3widgets.com/
alternatively, try to use FOR LOOP to filter or test stuff out.
/^([A-Za-z0-9_\-.])+@/!!!