zoukankan      html  css  js  c++  java
  • 输入框外部格式化卡号

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

    页面代码:

    <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();
    });
  • 相关阅读:
    Applied Nonparametric Statistics-lec2
    Applied Nonparametric Statistics-lec1
    pandas-Notes2
    pandas-Notes1
    软件项目-软件项目开发各阶段文档模板(参考)
    项目管理-一个项目的完整过程
    腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面
    从新手到架构师,一篇就够:从100到1000万高并发的架构演进之路
    新手入门:零基础理解大型分布式架构的演进历史、技术原理、最佳实践
    我的常用网站
  • 原文地址:https://www.cnblogs.com/mmzuo-798/p/6291246.html
Copyright © 2011-2022 走看看