在 p:inputmask 中转义数字 9

Escape Number 9 in p:inputmask

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

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

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

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

有没有办法像这样转义第一个 9mask="+ (999) 999-9999"?

谢谢大家...

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

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

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

<p:inputMask mask="+90(xxx) xxx-xxxx" id="homePhone"  />
const phoneMask = new Inputmask("+886(xxx)xxx-xx-xx");

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

phoneMask.mask(someElement);

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