/*****************************************************************
表单校验工具类 (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);
}

来自:http://www.cnblogs.com/linjiqin/p/3429919.html

最全js表单验证的更多相关文章

  1. 史上最全JS表单验证封装类

    转自:http://www.cnblogs.com/linjiqin/p/3429919.html /************************************************* ...

  2. js 表单验证控制代码大全

    js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...

  3. JS表单验证-12个常用的JS表单验证

    JS表单验证-12个常用的JS表单验证 最近有个项目用到了表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~ 1. 长度限制 <p>1. 长度 ...

  4. jquery.validation.js 表单验证

    jquery.validation.js 表单验证   官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...

  5. Jquery.validate.js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

  6. angular js 表单验证

    <!doctype html> <html ng-app="myapp"> <head> <meta charset="UTF- ...

  7. JS表单验证类HTML代码实例

    以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...

  8. Js表单验证控件-02 Ajax验证

    在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...

  9. jQuery.validate.js表单验证插件

    jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...

随机推荐

  1. PTA 7-6 列出连通集(深搜+广搜)

    给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点. 输入格式: 输入第1 ...

  2. 干净的ssm框架项目

    其中数据库只有如下表与字段 访问效果: 项目下载: 干净的ssm框架项目.rar

  3. java 线程Thread 技术--线程状态与同步问题

    线程技术第三篇: 线程的状态: 1. 创建状态: 当用new 操作符创建一个新的线程对象时,该线程就处于创建状态,系统不为它分配资源 2.可运行状态:当线程调用start 方法将为线程分配必须的系统资 ...

  4. javascript中的类型转换(进制转换|位运算)

    1:parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数 parseInt("123hua"); //输出 123 parseInt(& ...

  5. 5C - A == B ?

    Give you two numbers A and B, if A is equal to B, you should print "YES", or print "N ...

  6. RDMA的基础概念

    一张图可以简单明确的说明,目前RDMA的几种技术的差别: RDMA是remote Direct memory access的简称,有几个最基本的特点: CPU offload kernel bypas ...

  7. python实现文件下载图片视频

    最近在学习爬虫,在爬取网站时很多时候是需要将图片或视频下载到本地 今天就来说说如何使用urllib将图片保存到本地 以下代码均为win7  python3.6.* 方法一(使用下载函数保存) from ...

  8. DEDE 首页调用指定栏目链接的代码

    {dede:type typeid='6'} <a href='[field:typelink /]' target="_blank" >更多</a> {/ ...

  9. tiny cc 编译器,tinycc,变种

    去掉了 -run 参数 下载代码和编译好的程序

  10. Delphi--最强大的开发工具(欢迎转载)

    最强大的开发工具 Delphi 目录 --------------------------------------------------------------------------- 前言 De ...