您好,我正在使用jquery input mask,但我陷入了困境。
我有一个电话号码格式(+420 XXX XXX XXX),其中X是数字。
这是我当前的代码
phoneInputs.inputmask("+999 999 999 999", {
"placeholder": "+420 ___ ___ ___",
"onincomplete": function(){
$(this).addClass("incomplete");
},
"oncomplete": function(){
$(this).removeClass("incomplete");
}
});
一切正常,但是问题是当我开始输入输入内容时,我重写了+420数字。
我想开始写第一个普通电话号码的索引(而不是+420部分)。有可能吗?使用这个inputmask还是jQuery? 谢谢
答案 0 :(得分:1)
一个棘手的解决方案是使用两个单独的输入,一个disabled
输入作为前缀,第二个输入动态电话号码,以及一些CSS样式以获取样式,因为它只是一个字段:
HTML:
<input type="text" id="prefix" value="+420" disabled/>
<input type="text" id="phoneInput" />
JS:
let phoneInputs = $("#phoneInput");
phoneInputs.inputmask(" 999 999 999", {
"placeholder": " ___ ___ ___",
"onincomplete": function() {
$(this).addClass("incomplete");
},
"oncomplete": function() {
$(this).removeClass("incomplete");
}
});
注意:
" ___ ___ ___"
,因此它不考虑+420
部分。演示:
这是一个有效的演示:
let phoneInputs = $("#phoneInput");
phoneInputs.inputmask(" 999 999 999", {
"placeholder": " ___ ___ ___",
"onincomplete": function() {
$(this).addClass("incomplete");
},
"oncomplete": function() {
$(this).removeClass("incomplete");
}
});
input[type="text"]#prefix {
-webkit-appearance: none!important;
text-decoration:none;
text-align: right;
width: 35px;
border: 1px solid gray;
border-right: 0px;
margin: 0 0 0 -7px;
background: white;
}
input[type="text"]#phoneInput {
-webkit-appearance: none!important;
border: 1px solid gray;
margin-left: -4px;
border-left: 0px;
outline: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://www.jqueryscript.net/demo/Easy-jQuery-Input-Mask-Plugin-inputmask/dist/jquery.inputmask.bundle.min.js"></script>
<label>Phone number:</label>
<input type="text" id="prefix" value="+420" disabled/>
<input type="text" id="phoneInput" />
答案 1 :(得分:0)
您可以在掩码定义中包含前缀,请注意转义所有保留字符。
phoneInputs.inputmask("\\+420 999 999 999", { "escapeChar": "\\" });