jquery masked input have only first number optional rest mandatory

GGio picture GGio · Mar 12, 2013 · Viewed 21.9k times · Source

Im using jquery masked input plugin and need to have a phone field with the following format:

1 (222) - 000 - 1114

my code looks like this:

$("#myPhone").mask("9 (999) - 999 - 9999");

now i cant seem to get it to work to make the first digit optional but the rest mandatory. So the following numbers are valid:

1 (222) - 000 - 1114
  (222) - 000 - 1114

and the following numbers are invalid

1 (222) - 000 - 11
  (222) - 00  - 0011

using "?9 (999) - 999- 9999" will not work since it makes the whole thing optional

If this cant be done in masked can someone help me out with regular expression to achieve this?

Answer

vcampitelli picture vcampitelli · Mar 12, 2013

Try this:

$.mask.definitions['~'] = '([0-9] )?';
$("#myPhone").mask("~(999) - 999 - 9999");