我的代码有一个小问题,我无法破解它,我想要的格式是 +1 (888) 123-4567 。但是我已经实现了这种 (544)-646-4646 格式。但我无法弄清楚我怎样才能得到已经写好的 +1,当有人输入数字时,其余的应该格式化为上面的例子。
所以简而言之,我需要 +1 已经输入并且在用户输入时休息会给出与代码相同的格式。
这是代码
$(document).ready(function(){
/***phone number format***/
$(".phone-format").keypress(function (e) {
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
}
var curchr = this.value.length;
var curval = $(this).val();
if (curchr == 3 && curval.indexOf("(") <= -1) {
$(this).val("(" + curval + ")" + "-");
} else if (curchr == 4 && curval.indexOf("(") > -1) {
$(this).val(curval + ")-");
} else if (curchr == 5 && curval.indexOf(")") > -1) {
$(this).val(curval + "-");
} else if (curchr == 9) {
$(this).val(curval + "-");
$(this).attr('maxlength', '16');
}
});
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<input class="phone-format" value="" type="text" placeholder="Phone Number">
</body>
</html>
函数式编程
侃侃尔雅
相关分类