HTML のテキスト入力に電話番号の jQuery マスクを適用しています。国コードを修正し、次のような桁数に従う必要があります: +593 __-___-____
最初は、次のマスクで試しました。
$("#id_text-input").mask("+59399-999-9999");
ただし、ここでは、数字9
は、任意の数字と一致するマスクのメタデータを表しています。したがって、入力のマスクは +5_3__-___-____ のように表示されます。
9
ここで、国コードの数字を修正する必要があります。
マスク定義を数字で変更してみます9
:
$.mask.definitions['9'] = '[9]';
$("#id_text-input").mask("+59399-999-9999");
ただし、このアプローチでは、入力 +5_3__-___-____ にも同じマスクが表示されます。ここで、テキスト入力にのみ書き込むことができる数字は9
.
hereで説明されているように、次のようなマスクを使用してカスタムオプションを変更してみました:
var custom_options = {
byPassKeys: [8, 0, 37, 38, 39, 40],
watchDataMask: true,
translation: {
'0': {pattern: /\d/},
//'9': {pattern: /\d/, optional: false},
'#': {pattern: /\d/, recursive: true},
'A': {pattern: /[a-zA-Z0-9]/},
'S': {pattern: /[a-zA-Z]/}
}
};
$("#id_text-input").mask("+59399-999-9999",custom_options);
しかし、これは私にはうまくいきませんでした。