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 相关文章推荐
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
Dec 25 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
JS Date函数整理方便使用
Oct 23 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 Javascript
Yarn的安装与使用详细介绍
Oct 25 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
JS字符串false转boolean的方法(推荐)
Mar 08 Javascript
AngularJS中下拉框的基本用法示例
Oct 11 Javascript
vuex的module模块用法示例
Nov 12 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
Oct 31 Javascript
JavaScript中遍历的十种方法总结
Dec 15 Javascript
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
怎么使 Mysql 数据同步
2006/10/09 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php实现生成验证码实例分享
2016/04/10 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
用Python编写简单的微博爬虫
2016/03/04 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
公务员培训自我鉴定
2014/02/01 职场文书
小学安全教育材料
2014/02/17 职场文书
服务承诺书范文
2014/05/19 职场文书
学校师德承诺书
2014/05/23 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
vue使用element-ui按需引入
2022/05/20 Vue.js