input data-rule校验规则

//原理,默认遍历传入的选择器内的input[type="text"]; 获取input的data-rule属性,

 
data-rule可以使用函数里已定义的内容,
 
例如:<input type="text" data-rule="d">;
 
也可以写正则,
 
例如:<input type="text" data-rule="/[^\d]/g">;
 
  
 
function inputLimit(obj){
 
  
 
  var rules = {
    "d": /[^\d]/g, //纯数字
    "d.": /[^\d.]/g, //数字,点
    "d_": /[^\d.]/g, //数字,下划线
    "bh": /[^\d|a-z|A-Z]/g, //数字字母
    "sfz": /[^\d|x|X]/g, //身份证
    "dh": /[^\d-+]/g, //手机或座机
    "mm": /[^\w.]/g, //数字,点,下划线,字母
    "mail": /[^\d._@|a-z|A-Z]/g, //邮箱
    "zh": /[^\u4e00-\u9fa5]/g, //中文
    "zh_en": /[^\u4e00-\u9fa5|a-z|A-Z]/g, //中文或英文
    "code": /[^\w-]/g //组织机构代码
  };
  $(obj).delegate('input[type="text"]''input propertychange'function () {
    var $t = $(this),
      rule = $t.attr('data-rule') || '';
    if (rule != '') {
 
      var _rule = rules[rule] ? rules[rule] : rule,
        $v = $t.val().replace(_rule, '');
 
      $t.val($v);
    }
  });
}
 
//执行函数,给表单form下面的input输入框添加输入限制
 
inputLimit('form');
posted on 2020-11-05 10:00  kevin_yang123  阅读(4963)  评论(0编辑  收藏  举报