JQuery Input Mask (переопределить цифру "9")
Я использую маску ввода RobinHerbots JQuery.
Как переопределить "9", чтобы маска показала XXXX91 вместо XXXXX1?
РЕДАКТИРОВАТЬ: если возможно, я хотел бы сделать последние две цифры не редактируемыми
var autoPopulateNo = 91 //how to show the mask like this XXXX91
$("#number").inputmask({
"mask": "9999" + autoPopulateNo,
clearMaskOnLostFocus: false,
placeholder:"X",
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script>
<form action="">
<div>
<label for="number">Mask</label>
<input id="number" type="text"/>
</div>
</form>
3 ответа
Решение
Вы можете использовать "escapeChar"
Определение символов, используемых для маскировки части в маске.
escapeChar: "\\"
var autoPopulateNo = "\\91" //how to show the mask like this XXXX91
$("#number").inputmask({
"mask": "9999" + autoPopulateNo,
clearMaskOnLostFocus: false,
placeholder:"X",
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script>
<form action="">
<div>
<label for="number">Mask</label>
<input id="number" type="text"/>
</div>
</form>
Использование placeholder: "XXXX91"
вместо placeholder:"X"
, Если вам нужно избежать 9
в маске используйте \\
условное обозначение:
$("#number").inputmask({
"mask": "9999\\91",
clearMaskOnLostFocus: false,
placeholder:"XXXX91"
});
В
masked.input.min.js
найти файл:
translation:{
0: {
pattern: /\d/
},
"#": {
pattern: /\d/,
recursive: !0
},
A: {
pattern: /[a-zA-Z0-9]/
}
}
эту часть и удалить:
9: {
...
}