Search code examples
javascriptjquerymaskedinputjquery-mask

jquery masked input have only first number optional rest mandatory


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?


Solution

  • Try this:

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