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();
    });
  • 相关阅读:
    css 文本超过指定行数,显示省略号
    CSS 使radio和checkbox框,和文字对齐平行
    C# 使用InputStream接收 解析表单参数
    CSS 控制文本超出宽度,显示省略号
    C# 将http在线文件,保存到服务器指定位置
    C# Get请求
    C# POST请求
    js 使用XMLHttpRequest 上传文件,显示进度条
    js 验证字符长度,一个中文2个字符,英文和数字为1个字符
    iOS Carthage集成SnapKit
  • 原文地址:https://www.cnblogs.com/mmzuo-798/p/6291246.html
Copyright © 2011-2022 走看看