jQuery文本框过滤插件filtertext

/**
* @Title: jquery.alvin.filtertext.js
* @Description: 文本框过滤插件(可扩展),Example:$("input").filterNumber();
* @author Alvin.zengqi
* @date 2011-6-4 下午12:07:33
* @version V1.0
* @Company: MSD.
* @Copyright Copyright (c) 2011
*/
(function($) {

$.extend({

filterText : new function(){
this.defaults = {
exp : /[]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterText.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

//只能输数字(包含换行,空格)
filterNumber : new function(){
this.defaults = {
exp : /[^\d\r\n]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterNumber.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};


},

//只能输字母(包含换行,空格)
filterLetter : new function(){
this.defaults = {
exp : /[^\w]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterLetter.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},


//过滤特殊字符(包含换行,空格)
filterSpecialCharacter : new function(){
this.defaults = {
exp : /[^\u4E00-\u9EA5\w\d\r\n]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterSpecialCharacter.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

//过滤邮箱(包含换行,空格)
filterEmail : new function(){
this.defaults = {
exp : /[^\d\w\.\@\r\n]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterEmail.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

//只能输汉字(包含空格)
filterCN : new function(){
this.defaults = {
exp : /[^\u4E00-\u9FA5\uF900-\uFA2D\r\n]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterCN.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

//只能输数字跟字母(包含换行,空格)
filterNumberLetter : new function(){
this.defaults = {
exp : /[^\d\w\r\n]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterNumberLetter.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

//只能输数字和.(包含换行,空格) IP
filterNumberPoint : new function(){
this.defaults = {
exp : /[^\d\r\n\.\;]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterNumberPoint.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

//过滤电话号码
filterPhone : new function(){
this.defaults = {
exp : /[^\d\r\n\-]/ig //默认表达式
};
this.construct = function(settings){
return this.each(function(){
var config;
config = $.extend($.filterPhone.defaults, settings);
$(this).bind("keyup",function(){$.filter(this, config);})
.bind("keydown",function(){$.filter(this, config);});
});
};
},

filter : function(obj, config){
if(config.exp.test(obj.value))obj.value=obj.value.replace(config.exp,'');
}

});

$.fn.extend({
//过滤文本(自定义)
filterText : $.filterText.construct,
//只能输数字(包含换行,空格)
filterNumber : $.filterNumber.construct,
//只能输字母(包含换行,空格)
filterLetter : $.filterLetter.construct,
//过滤特殊字符(包含换行,空格)
filterSpecialCharacter : $.filterSpecialCharacter.construct,
//过滤邮箱(包含换行,空格)
filterEmail : $.filterEmail.construct,
//只能输汉字(包含空格)
filterCN : $.filterCN.construct,
//只能输数字跟字母(包含换行,空格)
filterNumberLetter : $.filterNumberLetter.construct,
//只能输数字和.(包含换行,空格) IP
filterNumberPoint : $.filterNumberPoint.construct,
//过滤电话号码
filterPhone : $.filterPhone.construct
});

})(jQuery);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
js代码 [removed] var personArr = [ { name: '王港', src: 'img/3.png', des: '颈椎不好', sex: 'm' }, { name: '张三', src: 'img/4.png', des: '描述信息2', sex: 'm' }, { name: '李四', src: 'img/5.png', des: '描述信息3', sex: 'm' }, { name: '王麻子', src: 'img/1.png', des: '描述信息4', sex: 'm' }, { name: '阿海', src: 'img/2.png', des: '描述信息5', sex: 'm' }, { name: '刘莹', src: 'img/5.png', des: '我是谁', sex: 'f' }, { name: '王秀莹', src: 'img/4.png', des: '我很好看', sex: 'f' }, { name: '刘金雷', src: 'img/1.png', des: '你没有见过陌生的脸', sex: 'm' }, { name: '刘飞翔', src: 'img/2.png', des: '瓜皮刘', sex: 'm' } ]; //渲染函数 function renderList(arr) { var str = ""; arr.forEach(function (ele, index) { str = '\ \ ' ele.name '\ ' ele.des '\ ' }) $("ul").html(str) } renderList(personArr) //根据名字渲染 var searchVal = ""; var sexVal = "a"; $(".search-box").on("input", function () { searchVal = $(this).val(); all() }) //根据性别渲染 $("span").on("click", function () { $("span").removeClass("active"); $(this).addClass("active"); sexVal = $(this).attr("sex"); all() }) //根据名字筛选数组 function nameFilter(name, arr) { return arr.filter(function (ele, index) { return ele.name.indexOf(name) != -1 ? true : false }) } //根据性别筛选数组 function sexFilter(sex, arr) { if (sex == "a") { return arr; } return arr.filter(function (ele, index) { return ele.sex == sex; }) } //合并筛选 function all() { var lastArr = nameFilter(searchVal, personArr); lastArr = sexFilter(sexVal, lastArr) renderList(lastArr) } [removed] 一款非常简单的jQuery文本框输入文字自动筛选代码,带图片的查询框文字筛选列表显示代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值