4

我想在用户输入的每个电话号码前加上 +90(土耳其的电话代码)。出于这个原因,我使用这样的面具:

<p:inputMask
    id="homePhone"
    value="#{personController.model.homePhone}"
    mask="+90 (999) 999-9999"
    size="20"
    converter="converterPhone" />

但是这样显示:+_0 (___) ___-____

但是,我希望它看起来像这样:+90 (___) ___-____ <!-- pay attention to 9 -->

有没有办法像这样逃避第一个9mask="+\90 (999) 999-9999"

谢谢你们...

4

3 回答 3

5

数字 9 用作所有数字的掩码,如果要使用 9,请使用 JavaScript 更改掩码,将 x 重新定义为掩码:

$.mask.definitions['9'] = '';
$.mask.definitions['x'] = '[0-9]';

现在您可以使用 x 作为掩码,:

<p:inputMask mask="+90(xxx) xxx-xxxx" id="homePhone"  />
于 2016-10-07T09:44:51.413 回答
0

当你的新掩码表现得很奇怪并用掩码替换一些静态字符时,就会有一个使用字符作为符号的定义。要解决这个问题,您需要双重转义 char

于 2020-03-09T10:52:42.687 回答
0
const phoneMask = new Inputmask("+886(xxx)xxx-xx-xx");

phoneMask.definitions.x = phoneMask.definitions['9'];
delete phoneMask.definitions[9];

phoneMask.mask(someElement);
于 2020-03-03T11:10:33.157 回答