目前我正在使用jquery.maskedinput作为精确的掩码格式,但它不适用于电话号码。巴西的JavaScript掩码电话号码
在巴西,我们曾经有格式为(99)9999-9999的所有数字。但最近在一些城市,手机使用(99)99999-9999,而他们的普通电话和国内其他地区仍然使用(99)9999-9999。
jquery.maskedinput似乎不支持2个格式在相同的输入,其中字符串中间的字符可能或可能不存在。正如我在文档中可以看到的,我可以有(99)9999-9999和(99)9999-99999,但这会混淆用户。
是否有任何其他掩码插件/框架允许我同时验证(99)9999-9999和(99)99999-9999?
编辑:我创建使用哈利和德米特里·解决方案的全面测试:http://jsfiddle.net/NSd6g/$('#full').inputmask('(99)9999[9]-9999');
我要等待多一点,看看我能找到一个更好的解决方案。完美的一个不需要红色信息,第二组默认有4位数字。而且,如果第三组获得第五位数字,那么只有第二组将获得第五个空间,将第三组的第一个数字移动到第二组的第五个数字。大声笑有点难以理解,对不起!
你的面具不适合我。当我输入第三组的第一个数字时,我不能得到第五个组的第五个组。如果第二组的第一个数字可以是“数字或空间”,它可以工作。 – Hikari 2013-02-20 03:23:26
它工作大声笑!如果要使用4个数字,我需要添加一个注释来解释类型空间:P – Hikari 2013-02-20 03:25:08
对不起,忘了提及这个:) – lazyhammer 2013-02-20 08:51:01