javascript - jquery 如果长度大于 x,则在字符之间添加破折号

标签 javascript jquery

我正在尝试在用户输入时格式化美国邮政编码,如果用户输入超过 5 个字符,则需要在第 5 个和第 6 个字符之间添加破折号,因此邮政编码的格式如下

55555 或 55555-5555

我现在添加了一个破折号,但无论是否添加第 6 个数字

//zip code formatting
$(".zip-val").keyup(function() {
    if($(this).val().length == 5) {
        $(this).val($(this).val() + "-");
    }
});

最佳答案

这个怎么样?

//zip code formatting
$(".zip-val").keyup(function() {
    zipcode = $(this).val();
    zipcode = zipcode.replace(/-/g, '');      // remove all occurrences of '-'

    if(zipcode.length > 5) {
        $(this).val(zipcode.substring(0, 5) + "-" + zipcode.substring(5));
    }
});

关于javascript - jquery 如果长度大于 x,则在字符之间添加破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426131/

相关文章:

javascript - 查找每年五月的第二个星期日,具体取决于年份

Javascript 构造函数模式和垃圾收集器

javascript - jQuery 在其他地方显示选择文本并在页面加载后消失

javascript - Jquery 平滑滚动动画无法正常工作

IE 和 Microsoft Edge 中的 jQuery 轮播页面移动

javascript - 我可以触发 .ready() 的 Backbone 事件吗?

javascript - 使用 switchMap 发出一个热 bool 值 observable?

javascript - KnockoutJs - 为什么 init 绑定(bind)处理程序只被调用一次?

javascript - jquery - 是否可以查看缓存元素是否被隐藏

javascript - 如何在这个 txt 更改循环中添加淡入/淡出?