JAVASCRIPT校验大全

本文提供了一套全面的JavaScript验证函数,包括邮箱、IP地址、日期时间等多种类型的校验,适用于网页表单验证等场景。
 
<!--
///////////////////////////////////////////////////////////////////////////////
//
//
 张树林 - 慧佳工作室
//
//
 Module Name:     public.js
//
 Abstract:        各种校验程序
//
 Version:         1.0
//
 Date                                2005-06-11
//
 Author:          woods·zhang
//
 Email:           hoojar@163.com 
//
 MSN:             hoojar@hotmail.com
//
 Website:         http://www.hoojar.com/
//
 Copyright 2001-2006, Hoojar studio All Rights Reserved
//
//
 版权 2001-2006,慧佳工作室所有版权保护

//The software for free software, allowing use, copy, 
//
modify and distribute the software and files. Any 
//
use of this software must place a copy of all the 
//
above copyright notice. By the software Huijia studio 
//
maintenance, if you have any queries please contact us.
//
Thank you. 
//
//
此软件为自由软件,允许使用、拷贝、修改、分发本软件及其文档。
//
任何使用此软件的地方都得出现以上版权通告所有副本。此软件由
//
慧佳工作室维护,如果您有什么疑问请与我们联系。谢谢使用。
//
//
/////////////////////////////////////////////////////////////////////////////
var IsFireFox = document.getElementById &&! document.all;//判断是否为FireFox

//页面里回车到下一控件的焦点
function Enter2Tab(e)
...{
        
try
        
...{
                
var ob = IsFireFox ? e.target : event.srcElement;
                
if(ob.tagName == "INPUT" &&
                (
                ob.type 
== "text"     ||
                ob.type 
== "password" ||
                ob.type 
== "checkbox" ||
                ob.type 
== "radio"
                )   
||
                ob.tagName 
== "SELECT")
                
...{
                        
var key = IsFireFox ? e.which : event.keyCode;
                        
if (key == 13)
                        
...{
                                
if (IsFireFox)
                                
...{
                                        event.which 
= 9;
                                }

                                
else
                                
...{
                                        event.keyCode 
= 9;
                                }

                        }

                }

        }

        
catch(E)...{}
}

//打开此功能请取消下行注释
//
document.onkeydown = Enter2Tab;

//ajax对象创建
function AjaxLib()
...{
        
var objXMLHttp;
        
if (window.XMLHttpRequest)
        
...{
                objXMLHttp 
= new XMLHttpRequest();
        }

        
else
        
...{
                
//使用该代码,出现问题 var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
                var MSXML = ['MSXML2.XMLHTTP''Microsoft.XMLHTTP'];
                
for(var n = 0; n < MSXML.length; n ++)
                
...{
                        
try
                        
...{
                                objXMLHttp 
= new ActiveXObject(MSXML[n]);        
                                
break;
                        }

                        
catch(e)
                        
...{
                        }

                }

                
if (!objXMLHttp && typeof XMLHttpRequest != 'undefined'
                
...{
                        objXMLHttp 
= new XMLHttpRequest();
                }

        }

        
return objXMLHttp;
}


//判断用户名是否符合标准
function UserNameIsOk(ssn)
...{
        
var re = /^[0-9a-z][w-.]*[0-9a-z]$/i;
        
return re.test(ssn) ? true : false;
}


//_______全选择__________
function SelectAll()
...{
    
var empty;
        
var f = document.forms[0];
    
for (var i = 0; i < f.length; i++)
    
...{
        empty 
= f[i];
        
if (empty.type == "checkbox" && empty.disabled == false)
            empty.checked 
= true;
    }

}


//__________返选择_________
function SelectReverse()
...{
    
var empty;
        
var f = document.forms[0];
    
for (var i = 0; i < f.length; i++)
    
...{
        empty 
= f[i];
        
if (empty.type == "checkbox" && empty.disabled == false)
                
if(empty.checked == true)
                
...{
                   empty.checked 
= false;
                }

                
else
                
...{
                   empty.checked 
= true;
                }

    }

}


//提交查询内容 submit search find content
function GoPage(pn)
...{
        
try
        
...{
                document.forms[
0].page.value = pn;
                document.forms[
0].submit();
        }

        
catch(E)
        
...{
                document.forms[
1].page.value = pn;
                document.forms[
1].submit();
        }

}


function WoodsAlert(ob, tip)
...{
        alert(tip);
        
//ob.value = "";
        ob.focus();
}


//__________处理特殊字符________________
function invalid_keyword()
...{
    
var keyword = new Array("<"">""%""'"""");
    
var f, ob;
    
for (var form = 0; form < document.forms.length; form++)
    
...{
        f 
= document.forms[form];
        
for (var i = 0; i < f.length; i++)
        
...{
            ob 
= f[i];
            
if (ob.type == "text" && ob.disabled == false)
            
...{
               
for (j = 0; j < keyword.length; j++)
               
...{
                    
if (ob.value.indexOf(keyword[j]) != -1)
                    
...{
                        alert(
"在输入框聚焦处发现非法字符[" + keyword[j] + "]。");
                        
//ob.value = "";
                        ob.focus();
                        
return false;
                    }

               }

               ob.value 
= Trim(ob.value);
            }

        }

    }

    
return true;
}

function IsTime(str)
//__________判断是否为时间字符串________________________
...{
        
var a = str.match(/^(d...{1,2})(:)?(d...{1,2})2(d...{1,2})$/);
        
if (a == null...{alert('输入的参数不是时间格式'); return false;}
        
if (a[1]>24 || a[3]>60 || a[4]>60)
        
...{
          
return false
        }

        
return true;
}


function IsDate(str)
//_________是否为日期(YYYY-MM-DD)类型字符串_________________________
...{
        
var r = str.match(/^(d...{1,4})(-|/)(d...{1,2})2(d...{1,2})$/);
        
if (r == nullreturn false;
        
var d = new Date(r[1], r[3]-1, r[4]);
        
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}


function IsBigCurrentDate(str)
//_________________判断用户给出的日期是否大于当前日期______________________________
...{
        
var today = new Date();
        
var tY = String(today.getFullYear());
        
var tM = String(today.getMonth() + 1);
        (tM.length 
<= 1? tM = "0" + tM : tM = tM;

        
var tD = String(today.getDate());
        (tD.length 
<= 1? tD = "0" + tD : tD = tD;

        
var tH = String(today.getHours());
        (tH.length 
<= 1? tH = "0" + tH : tH = tH;

        
var tM1 = String(today.getMinutes());
        (tM1.length 
<= 1? tM1 = "0" + tM1 : tM1 = tM1;

        
var tdate = tY + "-" + tM + "-" + tD + " " + tH + ":" + tM1 + ":59";//zhuweisong 添加秒的叛断
        if (str > tdate)
        
...{
                
return true;
        }

        
else
        
...{
                
return false;
        }

}


function IsDateTime(str)
//____________是否为时间日期类型__________________________________
...{
        
var reg = /^(d...{1,4})(-|/)(d...{1,2})2(d...{1,2}) (d...{1,2}):(d...{1,2}):(d...{1,2})$/;
        
var r = str.match(reg);
        
if (r == nullreturn false;
        
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
        
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}


function IsEmail(mail)
//_____________判断是否是有效的EMAIL地址________________________________
...{
        
return(new RegExp(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/).test(mail));
}


function IsIp(s)
//________________判断是否为有效IP地址_________________________________
...{
        
var check = function(v)
        
...{
                
try
                
...{
                        
return (v <= 255 && v >= 0);
                }

                
catch(x)
                
...{
                        
return false;
                }

        }

        
var re = s.split(".")
        
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}



//_________判断输入的是否为汉字___________begin__________
function isCharsInBag (s, bag)
...{
        
var i,c;
        
for (i = 0; i < s.length; i++)
        
...{
                c 
= s.charAt(i);//字符串s中的字符
                if (bag.indexOf(c) > -1)
                
return c;
        }

        
return "";
}


function IsCn(s)
...{
        
var errorChar;
        
var badChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|'":;~!#$%()`";
        errorChar 
= isCharsInBag(s, badChar)
        
if (errorChar != "" )
        
...{
                
return false;
        }

        
return true;
}

//_________判断输入的是否为汉字___________end__________

//________函数功能:判断输入的字符串是不是英文__________begin___________
function isCharsInBagEn (s, bag)
...{
        
var i,c;
        
for (i = 0; i < s.length; i++)
        
...{
                c 
= s.charAt(i);//字符串s中的字符
                if (bag.indexOf(c) <0)
                
return c;
        }

        
return "";
}


function IsEn(s)
...{
        
var errorChar;
        
var badChar = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        errorChar 
= isCharsInBagEn(s, badChar)
        
return (errorChar != "" ) ? false : true;
}

//________函数功能:判断输入的字符串是不是英文__________end___________

/**//********************
函数名称:IsTelephone
函数功能:固话,手机号码检查函数,合法返回true,反之,返回false
函数参数:obj,待检查的号码
检查规则:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
*******************
*/

function IsTelephone(obj)
...{
        
var pattern=/(^([0+]d...{2,3})d...{3,4}-d...{3,8}$)|(^([0+]d...{2,3})d...{3,4}d...{3,8}$)|(^([0+]d...{2,3})...{0,1}13d...{9}$)|(^d...{3,4}d...{3,8}$)|(^d...{3,4}-d...{3,8}$)/;
        
return (pattern.test(obj)) ? true : false;
}


/**//********************
函数名称:IsLegality
函数功能:检查字符串的合法性,即是否包含" '字符,包含则返回false;反之返回true
函数参数:obj,需要检测的字符串
*******************
*/

function IsLegality(obj)
...{
        
var intCount1 = obj.indexOf(""",0);
        
var intCount2 = obj.indexOf("'",0);
        
return (intCount1 > 0 || intCount2 > 0? false : true;
}


/**//********************
函数名称:IsNumber
函数功能:检测字符串是否全为数字
函数参数:str,需要检测的字符串
*******************
*/

function IsNumber(str)
...{
        
var number_chars = "1234567890";
        
var i;
        
for (i = 0; i < str.length; i++)
        
...{
                
if (number_chars.indexOf(str.charAt(i))==-1return false;
        }

        
return true;
}


/**//********************
函数名称:Trim
函数功能:去除字符串两边的空格
函数参数:str,需要处理的字符串
*******************
*/

function Trim(str)
...{
        
return str.replace(/(^s*)|(s*$)/g, "");
}


/**//********************
函数名称:LTrim
函数功能:去除左边的空格
函数参数:str,需要处理的字符串
*******************
*/

function LTrim(str)
...{
        
return str.replace(/(^s*)/g, "");
}


/**//********************
函数名称:RTrim
函数功能:去除右边的空格
函数参数:str,需要处理的字符串
*******************
*/

function RTrim(str)
...{
        
return this.replace(/(s*$)/g, "");
}


/**//********************
函数名称:IsNull
函数功能:判断给定字符串是否为空
函数参数:str,需要处理的字符串
*******************
*/

function IsNull(str)
...{
        
return (Trim(str) == ""? false : true;
}


//获取cookie
function getCookie(name)
...{
        
var search = name + "="
        
if(document.cookie.length > 0)
        
...{
                offset 
= document.cookie.indexOf(search)
                
if(offset != -1)
                
...{
                        offset 
+= search.length
                        end 
= document.cookie.indexOf(";", offset)
                        
if(end == -1) end = document.cookie.length
                        
return unescape(document.cookie.substring(offset, end))
                }

                
else return "";
        }

}


//存储cookie
function setCookie(name, value, days)
...{
        
if (days)
        
...{
                
var date = new Date();
                date.setTime(date.getTime() 
+ (days*24*60*60*1000));
                
var expires = ";expires=" + date.toGMTString();
        }

        
else var expires = "";
        document.cookie 
= name + "=" + value + expires + ";path=/;domain=" + document.location.hostname;
}


function eventFalse()
...{
        window.event.returnValue 
= false;
}


//document.oncontextmenu = eventFalse;
//
document.onselectstart = eventFalse;
//
-->

转载于:https://www.cnblogs.com/fhway/archive/2007/03/13/2461770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值