jQuery 版本的文本输入框检查器Input Check


Posted in Javascript onJuly 09, 2009
/** 
* power by wooshoo copyright 2008-2009 
* 程序名:JQuery 专用输入检查器 
* 内容:专门针对input[text password hidden]以及textarea的用户输入进行检查 
* 检查的范围包括:字符数、是否包含特殊字符、是否为整数、是否符合email格式、是否为电话号码、 
* 是否为网站地址、是否为图片地址、是否为浮点小数、是否为人民币货币、是否为日期格式 
* 是否为时间格式、是否为日期时间格式、是否为密码格式(仅包含大小写字母、数字及底划线)、 
* 暂不可用:是否为非英数特殊字符格式(即仅为中文、日文、韩文等大字符语言)、是否包含html标签、是否包含UBB标签、 
* 
*/ 
(function($) { 
var wshc = $.fn.check = function(){ 
return wshc.fn.init(this); 
} 
DATETIME = { 
FULL: "full", 
SIMPLE: "simple", 
ENGLISH: "english", 
JAPANESE: "japanese", 
CHINESE: "chinese" 
} 
wshc.fn = { 
init: function(obj){ 
wshc.fn.val = obj.val(); 
return wshc.fn; 
}, 
notNull: function(){ 
if(this.val !== "" || this.val !== undefined){ 
return true; 
} 
error("您没有输入任何字符。"); 
return false; 
}, 
number: function(min,max){//检查字数是否超过限制 
if(this.val.length >= min && this.val.length <= max){ 
return true; 
} 
error("您输入的字符超过了"+min+"-"+max+"的限制。"); 
return false; 
}, 
specialChar: function(pat){//检查是否包含特殊字符 
//特殊字符包括:\ / @ # $ % ^ & * = < > \n \r 
//如果需要自定义,可以在参数中设定 
pat = pat || /[\\\/\@\#\$\%\^\&\*\=\<\>\n\r]+/; 
error("您输入的字符包含了一些特殊字符。"); 
return mat(this.val,pat); 
}, 
isNum: function(len){//检查是否为数字 
if(!isNaN(this.val)){ 
return true; 
} 
error("您输入的不是数字。"); 
return false; 
}, 
integer: function(){//检查是否为整数 
if(this.val == parseInt(this.val)){ 
return true; 
} 
error("您输入的不是整数。"); 
return false; 
}, 
float: function(){//检查是否为小数 
if(this.isNum() && !this.integer()){ 
return true; 
} 
error("您输入的不是小数。"); 
return false; 
}, 
rmb: function(){//检查是否为货币(RMB标准格式为:0.00 or 10.00 除个位数外首位不为零) 
var pat = /^([1-9][0-9]+|[0-9])\.[0-9]{2}$/; 
error("您输入的不是人民币货币格式。"); 
return mat(this.val,pat); 
}, 
email: function(pat){//检查是否符合电子邮件格式 
pat = pat || /^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]{0,4}$/; 
error("您输入的不是电子邮件格式。"); 
return mat(this.val,pat); 
}, 
http: function(pat){//检查是否为网站的地址(包含http) 
pat = pat || /^(http|HTTP):\/\/[^s]*/; 
error("您输入的不是通用网址格式。"); 
return mat(this.val,pat); 
}, 
url: function(pat){//检查是否为通信地址 
pat = pat || /^[a-zA-z]+:\/\/[^s]*/; 
error("您输入的不是通用通信协议格式。"); 
return mat(this.val,pat); 
}, 
image: function(pat){//检查是否为图片地址(jpg gif png bmp jpeg ) 
pat = pat || /^(http|HTTP):\/\/[^s]*(jpg|JPG|png|PNG|gif|GIF|bmp|BMP|jpeg|JPEG)$/; 
error("您输入的不是网页允许的图片格式。"); 
return mat(this.val,pat); 
}, 
password: function(pat){ 
pat = pat || /^\w*$/; 
error("您输入的不是密码格式。"); 
return mat(this.val,pat); 
}, 
tel: function(pat){ 
pat = pat || /^\d{3}\-\d{8}$|^\d{4}\-\d{7}$/; 
error("您输入的不是中国地区的固定电话格式。"); 
return mat(this.val,pat); 
}, 
mobile: function(pat){ 
pat = pat || /^1\d{10}$/; 
error("您输入的不是中国地区的移动电话格式。"); 
return mat(this.val,pat); 
}, 
datatime: function(){ 
return DATETIME; 
}, 
date: function(type){ 
var pat; 
switch(type){ 
case DATETIME.FULL: 
pat = /^(([1-9]\d{0,3}|0)\-\d{2}\-\d{2})|(([1-9]\d{0,3}|0)\.\d{2}\.\d{2})|(([1-9]\d{0,3}|0)\/\d{2}\/\d{2})$/; 
break; 
case DATETIME.SIMPLE: 
pat = /^(\d{2}\-\d{1,2}\-\d{1,2})|(\d{2}\.\d{1,2}\.\d{1,2})|(\d{2}\/\d{1,2}\/\d{1,2})$/; 
break; 
case DATETIME.ENGLISH: 
pat = /^\w* \d{1,2},(([1-9]\d{0,3}|0)| ([1-9]\d{0,3}|0))$/; 
break; 
case DATETIME.JAPANESE: 
pat = /^(([1-9]\d{0,3}|0)年\d{2}月\d{2}日)$/; 
break; 
case DATETIME.CHINESE: 
pat = /^(([1-9]\d{0,3}|0)年\d{2}月\d{2}日)$/; 
break; 
} 
error("您输入的日期格式不正确。"); 
return mat(this.val,pat); 
}, 
time: function(type){ 
var pat; 
switch(type){ 
case DATETIME.FULL: 
pat = /^\d{2}:\d{2}:\d{2}$/; 
break; 
case DATETIME.SIMPLE: 
pat = /^\d{1,2}:\d{1,2}:\d{1,2}$/; 
break; 
case DATETIME.ENGLISH: 
pat = /^\d{1,2}:\d{1,2}:\d{1,2}$/; 
break; 
case DATETIME.JAPANESE: 
pat = /^\d{1,2}?r\d{1,2}分\d{1,2}秒$/; 
break; 
case DATETIME.CHINESE: 
pat = /^\d{1,2}时\d{1,2}分\d{1,2}秒$/; 
break; 
} 
error("您输入的时间格式不正确。"); 
return mat(this.val,pat); 
} 
} 
var mat = function(val,pat){ 
if (val.match(pat)) { 
return true; 
} 
return false; 
} 
var error = function(err){ 
wshc.fn.error = err || "无格式错误。"; 
} 
})(jQuery); 
使用方法: 
前提是,您已经导入了jQuery3.2的包了 
JS: 
<scrpit> 
$(function(){ 
//检查字数是否超过限制 
$(#"do_check").bind("click",function(){ 
alert($("#wooshoo_ipt").check().number()); 
alert($("#wooshoo_ipt").check().error); 
}); 
}); 
</script> 
HTML: 
<body> 
请输入:<input id="wooshoo_ipt" type="text" /><br/> 
<a id="do_check">执行检查</a> 
</body>
Javascript 相关文章推荐
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
Apr 19 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
Oct 29 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
Aug 19 Javascript
vue移动端下拉刷新和上拉加载的实现代码
Sep 08 Javascript
详解微信小程序之scroll-view的flex布局问题
Jan 16 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
ElementUI之Message功能拓展详解
Oct 18 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 Javascript
JavaScript实现拖拽效果
Mar 16 Javascript
jquery检测上传文件大小示例
Apr 26 jQuery
window.onload 加载完毕的问题及解决方案(下)
Jul 09 #Javascript
window.onload 加载完毕的问题及解决方案(上)
Jul 09 #Javascript
最简单的jQuery程序 入门者学习
Jul 09 #Javascript
Jquery 组合form元素为json格式,asp.net反序列化
Jul 09 #Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jul 09 #Javascript
JavaScript 继承的实现
Jul 09 #Javascript
jquery text,radio,checkbox,select操作实现代码
Jul 09 #Javascript
You might like
十天学会php之第八天
2006/10/09 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
js有序数组的连接问题
2013/10/01 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
pytorch 归一化与反归一化实例
2019/12/31 Python
如何用Django处理gzip数据流
2021/01/29 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
写自荐信的七个技巧
2013/10/15 职场文书
应届生财务会计求职信
2013/11/05 职场文书
校园新闻广播稿
2014/01/10 职场文书
家长给学校的建议书
2014/05/15 职场文书
医院保洁服务方案
2014/06/11 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
运动会5000米加油稿
2015/07/21 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
Mysql中mvcc各场景理解应用
2022/08/05 MySQL