无法在带有国家代码的 inputText 中仅输入手机号码,而不能在 primefaces 中输入其他字符:+NN-NNNNNNNNNN
Unable to enter only Mobile Number in inputText with Country Code Not Other Chars in primefaces : +NN-NNNNNNNNNN
我想在primefaces中做一个只能输入带国家代码的手机号码的文本框。格式为 +NN-NNNNNNNNNN,例如 +91-9876123456。用户不能键入除上述字符以外的任何其他字符。我试过一些 Javascript,但结果并不令我满意。
通过,How to disable special characters and alphabets in Primefaces input text?
在这个问题中,他们提到所有事情都是完美的,但是这里没有发生删除和移动光标。
而且我不想使用inputMask,这个组件的行为与文本不完全一致,尽管你对这个组件有更好的建议,请提供。
如果您需要匹配那个确切的模式,我可能会检查每个按键。只要确保用户清楚他们需要匹配模式,否则当他们的键似乎不起作用时他们可能会生气。
$("#test").on("keypress", function(e) {
var match = [48,49,50,51,52,53,54,55,56,57];
var insert = '';
if (this.value.length >= 14) {
return false;
}
if (this.value.length === 0) {
if (e.which === 43) {
return true;
}
insert = '+'
}
if (this.value.length === 3) {
if (e.which === 45) {
return true;
}
insert = "-";
}
if (match.indexOf(e.which) === -1) {
return false;
}
this.value += insert;
return true;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test"></input>
你应该看看 Forza,他们为 phone 输入做了一些非常有趣的实现,带有强制合成器,如 +() ____ ____:
我想在primefaces中做一个只能输入带国家代码的手机号码的文本框。格式为 +NN-NNNNNNNNNN,例如 +91-9876123456。用户不能键入除上述字符以外的任何其他字符。我试过一些 Javascript,但结果并不令我满意。 通过,How to disable special characters and alphabets in Primefaces input text?
在这个问题中,他们提到所有事情都是完美的,但是这里没有发生删除和移动光标。
而且我不想使用inputMask,这个组件的行为与文本不完全一致,尽管你对这个组件有更好的建议,请提供。
如果您需要匹配那个确切的模式,我可能会检查每个按键。只要确保用户清楚他们需要匹配模式,否则当他们的键似乎不起作用时他们可能会生气。
$("#test").on("keypress", function(e) {
var match = [48,49,50,51,52,53,54,55,56,57];
var insert = '';
if (this.value.length >= 14) {
return false;
}
if (this.value.length === 0) {
if (e.which === 43) {
return true;
}
insert = '+'
}
if (this.value.length === 3) {
if (e.which === 45) {
return true;
}
insert = "-";
}
if (match.indexOf(e.which) === -1) {
return false;
}
this.value += insert;
return true;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test"></input>
你应该看看 Forza,他们为 phone 输入做了一些非常有趣的实现,带有强制合成器,如 +() ____ ____: