史上最全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 运行的代 ...
随机推荐
- linux kill信号列表
linux kill信号列表 $ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) ...
- centos下使用eclipse jlink 调试uboot
一.安装java jdk 1.CentOS默认情况下,会安装OpenOffice之类的软件,这些软件需要Java的支持,默认会安装JDK的环境,若需要特定的Java环境,最好将默认的JDK彻底删除: ...
- jquery 调用数据
<body> <div id="aa" style="">hello</div> <div class="b ...
- (8)UI(控件)
1.按钮: 按钮是游戏中最常用的控件类型之一,控制用户点击事件的开关,有正常.按下.禁用三种状态,您可以为他们设置样式及文本. 使用场景 按钮的使用十分普遍,以官方示例中的主场景示例为例, ...
- loadrunner---<三>---菜鸟对Browser Emulation的思考
之前在一个web是项目做性能测试,发现controller中场景运行的时候,mrdv.exe内存所耗内存在不断增加,最后报错停止了 not enough memory for new buffer i ...
- [Effective JavaScript 笔记]第36条:只将实例状态存储在实例对象中
理解原型对象与其实例之间是一对多的关系,对于实现正确的对象行为很重要.常见的错误是不小心将每个实例的数据存储到了其原型中. 示例 一个实现了树型数据结构的类可能将子节点存储在数组中. 实例状态在原型中 ...
- 安装UnityVS 2012步骤
英文原文是: Cracked by Twisted89//////////////////////////////////////////////////// INSTALL INSTRUCTIONS ...
- [POJ1157]LITTLE SHOP OF FLOWERS
[POJ1157]LITTLE SHOP OF FLOWERS 试题描述 You want to arrange the window of your flower shop in a most pl ...
- Vmware怎样使用nat和桥接方式解决虚拟机联网问题
对于很多的linux初学者来说,最开始学习linux时通常是在虚拟机上进行的,然而对于新手来说虚拟机联网会对他们来说是比较困难的.这里我根据自己的经验写了一篇文档分享给大家.下面对几种连接方式进行简单 ...
- android dialog 模拟新浪、腾讯title弹框效果
http://blog.csdn.net/jj120522/article/details/7764183 首先我们看一下新浪微博的效果(其它就是一个dialog): 点 ...