微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

信用卡输入表格使用jQuery

我正试图在我的网站上制作一个美观的信用卡输入表格.

我想要一个以下列格式显示的表单:

1234-1234-1234-1234

任何非十进制数都将被忽略,并且第五个字符(由连字符表示)可以由用户输入为数字(成为cc的第5个数字),空格或连字符.

例如所有以下输入都将在输入中显示为1234-1

12341
1234 1
1234-1
123whoops4 1

解决方法

尝试这个:
$('#theInput').blur(function()
{
    $(this).val(function(i,v)
    {
        var v = v.replace(/[^\d]/g,'').match(/.{1,4}/g);
        return v ? v.join('-') : '';
    });
});​

在这里试试:http://jsfiddle.net/hnbx4/

这是解释:

第一:

v.replace(/[^\d]/g,'')

我们通过输入过滤以仅包含数字.然后:

.match(/.{1,4}/g);

我们将数字串分成4位数字块.然后:

return v ? v.join('-') : '';

如果是一个数组,我们通过在块之间插入一个破折号来组合数组.否则我们只需将其设置为空字符串.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐