试图实现这种格式的自动破折号 XXX-XXX-XXXX
这是我目前所拥有的:
$('.telnumber').keyup(function() {
var foo = $(this).val().split("-").join(""); // remove hyphens
foo = foo.match(new RegExp('.{1,3}', 'g')).join("-");
$(this).val(foo);
});
前 2 个 block 没问题,但如何限制最后一个 block 接受 4 位数字?
到现在有3位还是自动破折号。
我不擅长 REGEX,所以任何想法都会受到赞赏。
最佳答案
在这里我认为最好的解决方案。任何非数字字符都将被忽略,最后不会有额外的破折号。
$('.telnumber').keyup(function() {
this.value = this.value
.match(/\d*/g).join('')
.match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1).join('-')
.replace(/-*$/g, '')
;
});
关于javascript - 在 FOCUS 上使用 Javascript 的 Auto Dash(电话号码格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19112011/