|
技巧
|
JAVASCRIPT校驗大全
|
<!--
///////////////////////////////////////////////////////////////////////////////
//
// 張樹林 - 慧佳工作室
//
// 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 == null) return 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 == null) return 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))==-1) return 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;
//-->
|
|
|
|