试图实现,这种格式的自动冲刺 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);
});
Run Code Online (Sandbox Code Playgroud)
前两个块很好,但如何限制最后一个块接受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, '')
;
});
Run Code Online (Sandbox Code Playgroud)
foo = foo.match(new RegExp('.{1,4}$|.{1,3}', 'g')).join("-");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9990 次 |
| 最近记录: |