输入框外部格式化卡号

原理很简单,就是隐藏一个显示格式化的模块,当输入框获取焦点时显示,失去焦点时隐藏即可。

页面代码:

<div class="inputCard-wrap">
  <input type="text" class="inputCard">
  <div class="panelCard"></div>
</div>
  
<style type="text/css">
  .inputCard-wrap{
    position: relative;
  }
  .inputCard-wrap .panelCard{
    display: none;
    position: absolute;
    top:-34px;
    left:0;
    z-index: 100;
    background-color:#fff9da;
    border:1px #ffce6e solid;
    padding:10px;
    height:40px;
    font-size: 1.7em;
    line-height:18px;
    color:#585858;
  }
</style>

格式化代码:

/* 银行卡号实时验证放大显示 */
$(".inputCard").keyup(function(e){
  var self = $.trim(e.target.value),
    parent = $(e.target).closest(".inputCard-wrap"),
    panel = $(".panelCard", parent),
    val = self.replace(/\D/g, '');
  if(self.length > 18){
    this.value = self.substr(0, 18);
    return this.value;
  }
  if(val == self){
    panel.show();
    val = self.replace(/(....)(?=.)/g, '$1 ');
    panel.html(val);
  }else{
    panel.hide();
    return self;
  }
});
$(".inputCard").unbind('focusin');
$(".inputCard").bind('focusin',function(e){
  var self = $.trim(e.target.value),
    parent = $(e.target).closest(".inputCard-wrap"),
    panel = $(".panelCard", parent),
    val = self.replace(/(....)(?=.)/g, '$1 ');
  if(val != '') {
    panel.show();
    panel.html(val);
  }
});
$(".inputCard").unbind('focusout');
$(".inputCard").bind('focusout',function(e){
  var parent = $(e.target).closest(".inputCard-wrap"),
    panel = $(".panelCard", parent);
  panel.hide();
});

 

 

/* 银行卡号实时验证放大显示 */
$( ".inputCard" ).keyup( function (e){
   var self = $.trim(e.target.value),
     parent = $(e.target).closest( ".inputCard-wrap" ),
     panel = $( ".panelCard" , parent),
     val = self.replace(/\D/g, '' );
   if (self.length > 18){
     this .value = self.substr(0, 18);
     return this .value;
   }
   if (val == self){
     panel.show();
     val = self.replace(/(....)(?=.)/g, '$1 ' );
     panel.html(val);
   } else {
     panel.hide();
     return self;
   }
});
$( ".inputCard" ).unbind( 'focusin' );
$( ".inputCard" ).bind( 'focusin' , function (e){
   var self = $.trim(e.target.value),
     parent = $(e.target).closest( ".inputCard-wrap" ),
     panel = $( ".panelCard" , parent),
     val = self.replace(/(....)(?=.)/g, '$1 ' );
   if (val != '' ) {
     panel.show();
     panel.html(val);
   }
});
$( ".inputCard" ).unbind( 'focusout' );
$( ".inputCard" ).bind( 'focusout' , function (e){
   var parent = $(e.target).closest( ".inputCard-wrap" ),
     panel = $( ".panelCard" , parent);
   panel.hide();
});
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值