jQuery插件:只接受指定输入的文本框.

最近做了一个jQuery得插件,用来限制文本框的输入,做着玩玩,实用性感觉不是非常大,大家多提提意见.我的代码写的挺简单,觉得对像我这样的jQ新手写插件很有帮助.
功能简介:能够阻止用户输入非法字符(目前为止大小写尚不支持),能够阻止指定的模式下的阻止列表中出现的字符.
开发中遇到的问题:
      (1):javascript中正则表达式的test方法,你可以做个试验: 
            var str1 = "asdf";
            var reg = /asdf/g;
            alert(reg.test(str1));
            alert(reg.test(str1));
            alert(reg.test(str1));
            alert(reg.test(str1));
            结果是什么?
             
            不要惊讶,因为reg有一个lastIndex成员记录着上次test的位置,所以下次test的时候就会从lastIndex开始,所以,每次都要对lastIndex进行复位.
            
插件代码:

Code


插件使用方法:
$(...).specialTextBox({...}); 
此方法不会影响javascript的链式操作,不断链.
其中参数可以接受:
model:model可接收all-不做任何处理,letter-只接受字母,low_letter,big_letter,float-数字和小数点,int-数字,custom-自定义
permit: // 只接受char数组,表示可以接收的字符数组,但是该参数只有在model为custom的条件下才有效果
reject: // 只接受char数组,表示阻止列表,可以跟model配合使用,比如model指定为letter的时候可以指定不可以为X
示例一:
需求:只接受浮点型数据
代码:$("#txtTest1").specialTextBox({ model: "float"});
#txtTest1:
示例二:
需求:只接受指定列表中的字符,并阻止一些字符:
代码:$("#txtTest2").specialTextBox({ model: "custom",permit:['a','c','1','a'],reject:['a','b','1']});

#txtTest2:
posted @ 2009-09-29 10:51  ~洛书~  阅读(742)  评论(0编辑  收藏  举报