jquery masked input have only first number optiona

2019-04-26 20:19发布

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?

2条回答
做个烂人
2楼-- · 2019-04-26 20:57

It is not perfect, but you can use number or whitespace:

$.mask.definitions['~'] = '[0-9 ]';
$("#myPhone").mask("~(999) - 999 - 9999");
查看更多
forever°为你锁心
3楼-- · 2019-04-26 21:07

Try this:

$.mask.definitions['~'] = '([0-9] )?';
$("#myPhone").mask("~(999) - 999 - 9999");
查看更多
登录 后发表回答