ブラジルでは、9桁の電話番号がいくつかありますが、デフォルトは8です。そのため、一部の開発者がjQuery Maskedinputプラグインを使用して解決策を書いてきました。私はこの機能を持っている:既にDBから入力された入力を正しくマスクする方法はありますか?
$("#telephone").mask("(99) 9999-9999?9");
$("#telephone").blur(function(event) {
if($(this).val().length == 15){
$('#telephone').mask('(99) 99999-999?9');
} else {
$('#telephone').mask('(99) 9999-9999?9');
}
});
それは何:電話番号は8桁の数字を持っている場合、それは9桁を無視し、(11)0000-0000デフォルトの形式、として値を残します。電話番号が9桁の場合、2番目のブロックの1桁目を1番目のブロックの最後に置く。例:this(11)9123-45678は(11)91234-5678となるため、ここで4が削除されている最後のグループから挿入して1番目のグループの最後に挿入すると、1番目のグループは5桁のようになります。
入力が既にdbから入力されている場合、マスクは適用されず、「ぼかし」でのみ機能するという問題があります。入力値に9桁の数字があるかどうかを確認してから、ぼかしで動作するようにマスクを適用するという奇妙な方法はありますか?
さらに、コードを再利用する可能性を持たせるために、要素IDをパラメータとして渡す関数に変換する必要があります(理想的なのは1 ID以上である可能性があります)。助けて...
mask_phone('#telephone, #fax');
感謝を
function mask_phone(inputID) {
$k(inputID).mask("(99) 9999-9999?9");
$k(inputID).blur(function(event) {
if($k(this).val().length == 15) {
$k(inputID).mask('(99) 99999-999?9');
} else {
$k(inputID).mask('(99) 9999-9999?9');
}
});
}
がそれを呼び出す:だから、私は、以下の機能を作成しましたが、私はそれを正しく呼び出していた場合、私はわかりません!
ありがとうございました、私は見てみましょう! BTW、はい、私は多くの「疑わしい答え」の質問をしてきましたが、それについて教えてください:(ブラジルは開発者やフロントエンドの人にとって苦痛です。) – joaogdesigner
この[CodePen](http://codepen.io/Bes7weB/pen/QpVVZE)はonload値にはうまくいきますので、私に教えてください...「blur」のように。もっと複雑なスクリプトを使う理由を教えてください(私はあまりにもあまりにも... –