史上最全JS表单验证封装类
转自:http://www.cnblogs.com/linjiqin/p/3429919.html
/*****************************************************************
表单校验工具类 (linjq)
*****************************************************************/ /**
* 判断整数num是否等于0
*
* @param num
* @return
* @author jiqinlin
*/
function isIntEqZero(num){
return num==0;
} /**
* 判断整数num是否大于0
*
* @param num
* @return
* @author jiqinlin
*/
function isIntGtZero(num){
return num>0;
} /**
* 判断整数num是否大于或等于0
*
* @param num
* @return
* @author jiqinlin
*/
function isIntGteZero(num){
return num>=0;
} /**
* 判断浮点数num是否等于0
*
* @param num 浮点数
* @return
* @author jiqinlin
*/
function isFloatEqZero(num){
return num==0;
} /**
* 判断浮点数num是否大于0
*
* @param num 浮点数
* @return
* @author jiqinlin
*/
function isFloatGtZero(num){
return num>0;
} /**
* 判断浮点数num是否大于或等于0
*
* @param num 浮点数
* @return
* @author jiqinlin
*/
function isFloatGteZero(num){
return num>=0;
} /**
* 匹配Email地址
*/
function isEmail(str){
if(str==null||str=="") return false;
var result=str.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);
if(result==null)return false;
return true;
} /**
* 判断数值类型,包括整数和浮点数
*/
function isNumber(str){
if(isDouble(str) || isInteger(str)) return true;
return false;
} /**
* 只能输入数字[0-9]
*/
function isDigits(str){
if(str==null||str=="") return false;
var result=str.match(/^\d+$/);
if(result==null)return false;
return true;
} /**
* 匹配money
*/
function isMoney(str){
if(str==null||str=="") return false;
var result=str.match(/^(([1-9]\d*)|(([0-9]{1}|[1-9]+)\.[0-9]{1,2}))$/);
if(result==null)return false;
return true;
} /**
* 匹配phone
*/
function isPhone(str){
if(str==null||str=="") return false;
var result=str.match(/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/);
if(result==null)return false;
return true;
} /**
* 匹配mobile
*/
function isMobile(str){
if(str==null||str=="") return false;
var result=str.match(/^((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(15\d{9})|(18\d{9}))$/);
if(result==null)return false;
return true;
} /**
* 联系电话(手机/电话皆可)验证
*/
function isTel(String text){
if(isMobile(text)||isPhone(text)) return true;
return false;
} /**
* 匹配qq
*/
function isQq(str){
if(str==null||str=="") return false;
var result=str.match(/^[1-9]\d{4,12}$/);
if(result==null)return false;
return true;
} /**
* 匹配english
*/
function isEnglish(str){
if(str==null||str=="") return false;
var result=str.match(/^[A-Za-z]+$/);
if(result==null)return false;
return true;
} /**
* 匹配integer
*/
function isInteger(str){
if(str==null||str=="") return false;
var result=str.match(/^[-\+]?\d+$/);
if(result==null)return false;
return true;
} /**
* 匹配double或float
*/
function isDouble(str){
if(str==null||str=="") return false;
var result=str.match(/^[-\+]?\d+(\.\d+)?$/);
if(result==null)return false;
return true;
} /**
* 匹配邮政编码
*/
function isZipCode(str){
if(str==null||str=="") return false;
var result=str.match(/^[0-9]{6}$/);
if(result==null)return false;
return true;
} /**
* 匹配URL
*/
function isUrl(str){
if(str==null||str=="") return false;
var result=str.match(/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/);
if(result==null)return false;
return true;
} /**
* 匹配密码,以字母开头,长度在6-12之间,只能包含字符、数字和下划线。
*/
function isPwd(str){
if(str==null||str=="") return false;
var result=str.match(/^[a-zA-Z]\\w{6,12}$/);
if(result==null)return false;
return true;
} /**
* 判断是否为合法字符(a-zA-Z0-9-_)
*/
function isRightfulString(str){
if(str==null||str=="") return false;
var result=str.match(/^[A-Za-z0-9_-]+$/);
if(result==null)return false;
return true;
} /**
* 匹配english
*/
function isEnglish(str){
if(str==null||str=="") return false;
var result=str.match(/^[A-Za-z]+$/);
if(result==null)return false;
return true;
} /**
* 匹配身份证号码
*/
function isIdCardNo(num){
// if (isNaN(num)) {alert("输入的不是数字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/);
else if (len == 18)
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/);
else {alert("输入的数字位数不对。"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对。"); return false;}
}
if(!re.test(num)){alert("身份证最后一位只能是数字和字母。");return false;}
return true;
} /**
* 匹配汉字
*/
function isChinese(str){
if(str==null||str=="") return false;
var result=str.match(/^[\u4e00-\u9fa5]+$/);
if(result==null)return false;
return true;
} /**
* 匹配中文(包括汉字和字符)
*/
function isChineseChar(str){
if(str==null||str=="") return false;
var result=str.match(/^[\u0391-\uFFE5]+$/);
if(result==null)return false;
return true;
} /**
* 字符验证,只能包含中文、英文、数字、下划线等字符。
*/
function stringCheck(str){
if(str==null||str=="") return false;
var result=str.match(/^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/);
if(result==null)return false;
return true;
} /**
* 过滤中英文特殊字符,除英文"-_"字符外
*/
function stringFilter(str){
var pattern = new RegExp("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]");
var rs = "";
for (var i = 0; i < str.length; i++) {
rs = rs + str.substr(i, 1).replace(pattern, '');
}
return rs;
} /**
* 判断是否包含中英文特殊字符,除英文"-_"字符外
*/
function isContainsSpecialChar(str){
if(str==null||str=="") return false;
var reg = RegExp(/[(\ )(\`)(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\+)(\=)(\|)(\{)(\})(\')(\:)(\;)(\')(',)(\[)(\])(\.)(\<)(\>)(\/)(\?)(\~)(\!)(\@)(\#)(\¥)(\%)(\…)(\&)(\*)(\()(\))(\—)(\+)(\|)(\{)(\})(\【)(\】)(\‘)(\;)(\:)(\”)(\“)(\’)(\。)(\,)(\、)(\?)]+/);
return reg.test(str);
}
史上最全JS表单验证封装类的更多相关文章
- 史上最全Java表单验证封装类
package com.tongrong.utils; import java.util.Collection; import java.util.Map; import java.util.rege ...
- 最全js表单验证
/***************************************************************** 表单校验工具类 (linjq) ***************** ...
- js 表单验证控制代码大全
js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...
- jquery.validation.js 表单验证
jquery.validation.js 表单验证 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- angular js 表单验证
<!doctype html> <html ng-app="myapp"> <head> <meta charset="UTF- ...
- JS表单验证类HTML代码实例
以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...
- Js表单验证控件-02 Ajax验证
在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...
- 一个漂亮的js表单验证页面+验证码
一个漂亮的js表单验证页面 见图知其意, 主要特性 带密码安全系数的判断 其他的就没有啥啦 嘿嘿嘿 当然,其代码也在Github上 我也准备了一套可以直接Ctrl + v; Ctrl + c 运行的代 ...
随机推荐
- wireshark怎么抓包、wireshark抓包详细图文教程
wireshark怎么抓包.wireshark抓包详细图文教程 作者:佚名 来源:本站整理 发布时间:2013-05-02 19:56:27 本日:53 本周:675 本月:926 总数:3749 ...
- 常用工具和API的网站收集
1.小图标在线查找 https://www.iconfinder.com/ 2.在线做图,Flowchart流程图,BPMN图,Org组织结构图等 http://www.processon.com/ ...
- 昂贵的聘礼(dijkstra)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 38549 Accepted: 11158 Descripti ...
- cpu和内存的关系
CPU是负责运算和处理的,内存是交换数据的.当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传送给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器,打印机等. ...
- Can't connect to local MySQL Server throught socket '/var/run/mysqld/mysqld.sock'(2)
www.iwangzheng.com 由于之前调整了/etc/mysql/my.cnf试图修复数据库不能存中文的问题,这个问题没解决,以至于数据库连接不上了. tail -f /var/log/mys ...
- APScheduler —— Python化的Cron
APScheduler全程为Advanced Python Scheduler,是一款轻量级的Python任务调度框架.它允许你像Cron那样安排定期执行的任务,并且支持Python函数或任意可调用的 ...
- Search a 2D Matrix | & II
Search a 2D Matrix II Write an efficient algorithm that searches for a value in an m x n matrix, ret ...
- iOS7总显示状态栏的解决方法
转载http://blog.csdn.net/langresser_king/article/details/18351021 2014年2月份开始,苹果需求开发者必须使用xcode5开发游戏和应用, ...
- ACdream 1195 Sudoku Checker (数独)
Sudoku Checker Time Limit:1000MS Memory Limit:64000KB 64bit IO Format:%lld & %llu Submit ...
- August 6th, 2016, Week 32nd, Saturday
It is not the mountain we conquer, but ourselvess. 我们征服的不是高山,而是我们自己. Difficulties and obstacles, jus ...