當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript公共运行库
生活随笔
收集整理的這篇文章主要介紹了
JavaScript公共运行库
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/*
****************************************************
功 能:驗證函數(shù)集合
說 明:
版 本:1.0
作 者:
創(chuàng)建時間:2005-8-25
***************************************************
*/<!--
//禁止輸入空格
function forbidSpace()
{//οnkeypress="forbidSpace();"if (window.event.keyCode==32){alert('不允許輸入空格!');window.event.keyCode = 0x0;}
}//去除字符串空格
function trim(s)
{ return s.replace(/(^\s+)|(\s+$)/g,"");
}//表單項是否為空
function IsEmpty(pstr)
{//alert(pstr)if (trim(pstr).length == 0){return true;}return false;
}//比較兩個表單項的值是否相同
function IsRepeat(obj1, obj2)
{if ((obj1).value != (obj2).value) {return false;}return true;
}//比較兩個數(shù)值大小
function CompairNum(value1,value2)
{var ret;ret=eval(value1-value2); if(ret>0 || isNaN(value1) || (value1.charAt(0)==0 && !isNaN(value1.charAt(1)) && value1.charAt(1)!='') ){alert('輸入有誤!');return false;}return true;
}//比較兩個數(shù)值大小
function CompairNum2(value1,value2,note)
{var ret;//alert(value1);ret=eval(value1-value2); if(ret>0 || isNaN(value1) || (value1.charAt(0)==0 && !isNaN(value1.charAt(1)) && value1.charAt(1)!='') ){alert(note);return false;}return true;
}//百分數(shù)[數(shù)字 . %]
function percentage()
{// 37 - %;if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==46||window.event.keyCode==37)){window.event.keyCode=0x0;}
}//身份證[數(shù)字 x]
function identityCard()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==120)){window.event.keyCode = 0x0;return false;}return true;
}//格式必須僅為數(shù)字0-9
function onlyNumeric()
{// 0-9:48-57;-:45;//var outCha="40 41 45 59";if(window.event.keyCode<48||window.event.keyCode>57){alert('只能輸入數(shù)字!')window.event.keyCode = 0x0;return false;}return true;
}//格式必須為數(shù)字和-
function numericF()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==45)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;}
}//格式必須為數(shù)字和.
function numericD()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==46)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;}
}//格式為數(shù)字,點(.)和負號(-)
function numericDF()
{if(!((window.event.keyCode>47&&window.event.keyCode<58)||window.event.keyCode==46||window.event.keyCode==45)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;return (false);}
}//格式必須為數(shù)字和,
function numericB()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==44)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;}
}//格式必須為數(shù)字.,
function numericDB()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==44||window.event.keyCode==46)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;}
}//格式必須為數(shù)字-,
function numericFB()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==44||window.event.keyCode==45)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;}
}//格式必須為數(shù)字.-,
function numericDFB()
{if(!(window.event.keyCode>47&&window.event.keyCode<58||window.event.keyCode==46||window.event.keyCode==44||window.event.keyCode==45)){alert('只能輸入數(shù)字!')window.event.keyCode=0x0;}
}//[127以內ASCII值] 非大小寫26個英文字母
function noLetter()
{if ((window.event.keyCode>=65 && window.event.keyCode<=90)||(window.event.keyCode>=97&&window.event.keyCode<=122)||window.event.keyCode>127){window.event.keyCode=0x0;}
}//表單項只能為數(shù)字和"-",用于電話/銀行帳號驗證上,可擴展到域名注冊等
function IsNumberF(String)
{ var Letters = "1234567890-"; //可以自己增加可輸入值var i;var c;if(String.charAt( 0 )=='-')return false;if( String.charAt( String.length - 1 ) == '-' )return false;for( i = 0; i < String.length; i ++ ){c = String.charAt( i );if (Letters.indexOf( c ) < 0)return false;}return true;
}//數(shù)值檢測,只為為0-9之間的數(shù)字
function IsNumber(name)
{if(name.length == 0)return false;for(i = 0; i < name.length; i++) {if(name.charAt(i) < "0" || name.charAt(i) > "9")return false;}return true;
}//Digit evaluation function
function isNum(passedVal)
{if (passedVal == "")return false;else if (isNaN(passedVal)) return false;for (i=0; i<passedVal.length; i++){if (passedVal.charAt(0) == "." || passedVal.charAt(passedVal.length-1) == "." || (passedVal.length > 1 && passedVal.charAt(0) == "0" && !isNaN(passedVal.charAt(1))))return false;else if (passedVal.charAt(0) == "-")i++; else if (passedVal.charAt(i) < "0" && passedVal.charAt(i) != ".")return false;else if (passedVal.charAt(i) > "9" && passedVal.charAt(i) != ".")return false;}return true;
}
//↑↑↑//
//判斷是否為數(shù)值
function checkNum(obj)
{if (isNum(document.all(''+ obj +'').value)==false){alert('非正確的數(shù)值輸入!!!');document.all(''+ obj +'').focus();document.all(''+ obj +'').select();return false;}return true;
}//表單項輸入數(shù)值/長度限定
function Limit(obj, min, max)
{if ((obj).length > max || (obj).length < min){return false;}return true;
}//英文值檢測
function isEnglish(name)
{if(name.length == 0)return false;for(i = 0; i < name.length; i++) {if(name.charCodeAt(i) > 128)return false;}return true;
}//中文值檢測
function isChinese(name)
{if(name.length == 0)return false;for(i = 0; i < name.length; i++) {if(name.charCodeAt(i) > 128)return true;}return false;
}//限定表單項不能輸入的字符
function contain(str,charset)// 字符串包含測試函數(shù)
{var i;for(i=0;i<charset.length;i++)if(str.indexOf(charset.charAt(i))>=0)return true;return false;
}// E-mail值檢測
function isMail(name)
{if(!isEnglish(name))return false;i = name.indexOf("@");j = name.lastIndexOf("@");if(i == -1)return false;if(i != j)return false;if(i == name.length)return false;return true;
}function IsEmail2(stringToTest)
{var AmperAtvar DotAtvar strimif (trim(stringToTest) == ""){return(true);}strim = trim(stringToTest);if (strim.search(/\s/) != -1)return (false);AmperAt = stringToTest.indexOf("@")if (AmperAt < 1)return (false);DotAt = stringToTest.indexOf(".",AmperAt);//DotAt = stringToTest.indexOf(".")if (DotAt < (AmperAt+2) || DotAt == (stringToTest.length-1))return (false);return (true);
}function isEmail3(email)
{var reg=/^@([\w-]+\.)+[\w-]{2,4}$$$/;return ( email.match( reg ) != null ) ? true:false;
}//---------------------------------------
function checkEmail(mail)
{var strr;ValidationPassed = true;re=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;re.exec(mail);if (RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".") strr=RegExp.$1+RegExp.$2+RegExp.$3elseif (RegExp.$2!=""&&RegExp.$2!=".") strr=RegExp.$1+RegExp.$2else strr=RegExp.$1if (strr!=mail) {alert("請?zhí)顚懻_的郵件地址!!!")ValidationPassed = false;return;}return true;
}
//↑↑↑//
function detectEmail(obj) //檢測輸入的Email
{ var mail=trim(document.all(''+obj+'').value);if(IsEmpty(mail)){return false;}else if(!checkEmail(mail)){document.all(''+obj+'').select();return false;}return true;
}
//-------------------------------------------function IsDate(s)
{var daysInMonth;var year;var month;var day;var delimiter;var stemp;// check for illegal charactersif (s.search(/[^0-9-\/_]/) != -1)return false;// parse string to get year, month and dayif (s.search(/\/{1}/) != -1)delimiter = "/";else{if (s.search(/-{1}/) != -1)delimiter = "-";elsereturn false;}stemp = s;DelimAt = stemp.indexOf(delimiter);month = stemp.substring(0,DelimAt);stemp = stemp.substring(DelimAt + 1, stemp.length);DelimAt = stemp.indexOf(delimiter);day = stemp.substring(0,DelimAt);year = stemp.substring(DelimAt + 1, stemp.length);// Explicitly change type to integer to make code work in both// JavaScript 1.1 and JavaScript 1.2.var intYear = parseInt(year,10);var intMonth = parseInt(month,10);var intDay = parseInt(day,10);// catch invalid years (not 2- or 4-digit)if (intYear < 0) return false;if ((year.length != 2) && (year.length != 4)) return false;// catch invalid monthsif (intMonth < 1 || intMonth > 12) return false;// catch invalid days, except for Februaryif (intDay < 1 || intDay > 31) return false;switch (intMonth){case 1:case 3:case 5:case 7:case 8:case 10:case 12:daysInMonth = 31;break;case 4:case 6:case 9:case 11:daysInMonth = 30;break;case 2:daysInMonth = ((intYear % 4 == 0) && ( (!(intYear % 100 == 0)) || (intYear % 400 == 0) ) ) ? 29 : 28;break;}if (intDay > daysInMonth) return false; return true;
}//檢測日期// =============================================
// note:the function need 6 numeric,other is irregular
// 檢測輸入值是否為六位,是否為時間
// =============================================
function Is6Date(inDate)
{if(inDate.length==6 & !isNaN(inDate))//refuse string and length=6{var fir2str;var sec2str;var thi2str;var lastDate;var newDate,returnResult;returnResult=0;fir2str=inDate.substr(0,2);//the first 2 stringsec2str=inDate.substr(2,2);//the second 2 stringthi2str=inDate.substr(4,2);//the third 2 stringlastDate="20"+fir2str+"/"+sec2str+"/"+thi2str;newDate=new Date(lastDate);returnResult+=(sec2str==(newDate.getMonth()+1))?0:1;//the month must exist and be legality?returnResult+=(thi2str==newDate.getDate())?0:1;if(returnResult>0){alert("你的日期輸入有誤,格式必須為6位YYMMDD!");return false;}else{return true;}}else{alert("你的日期輸入有誤,格式必須為6位YYMMDD!");return false;}
}//金額大寫
function DX(currencyDigits)
{var MAXIMUM_NUMBER = 99999999999.99; // Predefine the radix characters and currency symbols for output: var CN_ZERO = "零"; var CN_ONE = "壹"; var CN_TWO = "貳"; var CN_THREE = "叁"; var CN_FOUR = "肆"; var CN_FIVE = "伍"; var CN_SIX = "陸"; var CN_SEVEN = "柒"; var CN_EIGHT = "捌"; var CN_NINE = "玖"; var CN_TEN = "拾"; var CN_HUNDRED = "佰"; var CN_THOUSAND = "仟"; var CN_TEN_THOUSAND = "萬"; var CN_HUNDRED_MILLION = "億"; //var CN_SYMBOL = "人民幣"; var CN_DOLLAR = "元"; var CN_TEN_CENT = "角"; var CN_CENT = "分"; var CN_INTEGER = "整"; // Variables: var integral; // Represent integral part of digit number. var decimal; // Represent decimal part of digit number. var outputCharacters; // The output result. var parts; var digits, radices, bigRadices, decimals; var zeroCount; var i, p, d; var quotient, modulus; // Validate input string:currencyDigits = currencyDigits.toString(); if (currencyDigits == "") { alert("Empty input!"); return ""; } if (currencyDigits.match(/[^,.\d]/) != null) { alert("Invalid characters in the input string!"); return ""; } if ((currencyDigits).match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) { alert("Illegal format of digit number!"); return ""; } // Normalize the format of input digits: currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters. currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning. // Assert the number is not greater than the maximum number. if (Number(currencyDigits) > MAXIMUM_NUMBER) { alert("Too large a number to convert!"); return ""; } // Process the coversion from currency digits to characters: // Separate integral and decimal parts before processing coversion: parts = currencyDigits.split("."); if (parts.length > 1) { integral = parts[0]; decimal = parts[1]; // Cut down redundant decimal digits that are after the second. decimal = decimal.substr(0, 2); } else { integral = parts[0]; decimal = ""; } // Prepare the characters corresponding to the digits: digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE); radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND); bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); decimals = new Array(CN_TEN_CENT, CN_CENT); // Start processing: outputCharacters = ""; // Process integral part if it is larger than 0: if (Number(integral) > 0) { zeroCount = 0; for (i = 0; i < integral.length; i++) { p = integral.length - i - 1; d = integral.substr(i, 1); quotient = p / 4; modulus = p % 4; if (d == "0") { zeroCount++; } else { if (zeroCount > 0) { outputCharacters += digits[0]; } zeroCount = 0; outputCharacters += digits[Number(d)] + radices[modulus]; } if (modulus == 0 && zeroCount < 4) { outputCharacters += bigRadices[quotient]; } } outputCharacters += CN_DOLLAR; } // Process decimal part if there is: if (decimal != "") { for (i = 0; i < decimal.length; i++) { d = decimal.substr(i, 1); if (d != "0") { outputCharacters += digits[Number(d)] + decimals[i]; } } } // Confirm and return the final output string: if (outputCharacters == "") { outputCharacters = CN_ZERO + CN_DOLLAR; } if (decimal == "") { outputCharacters += CN_INTEGER; } //outputCharacters = CN_SYMBOL + outputCharacters; return outputCharacters;
}//-->
///<PublicVariable>定義一全局非法字符枚舉變量</PublicVariable>///
var ForbiddenWord="EXEC ,XP_,SP_,DECLARE ,UNION ,CMD ,+,@,//,..,;,--,%,0X "; //PS:注意 [space]不能被trim掉///<summary>檢測是否存在SQL Injection問題</summary>///
///<parms>SQL語句 || String;</parms>///
///<returns>A Word In ForbiddenWord</returns>///
function CheckSQLInjection(SQL)
{ SQL = SQL.toUpperCase();arrForbiddenWord=ForbiddenWord.split(",");for (var i=0;i<arrForbiddenWord.length;i++){if (SQL.indexOf(arrForbiddenWord[i])>=0) { return arrForbiddenWord[i];}}return '';
} // 增加一個名為 CheckSQLInjection 的函數(shù)作為
// String 構造函數(shù)的原型對象的一個方法。
String.prototype.CheckSQLInjection = function()
{return CheckSQLInjection(this);
}//判斷是否為HTML格式
String.prototype.IsHTML = function()
{return /<(\/)?[A-Za-z]+>/.test(this);
}///<summary>檢測HTML及非法字符ForbiddenWord</summary>///
///<parms>ToControl - 要檢測的控件; ValidControl - 顯示驗證消息的控件;</parms>///
///<returns>true/false;</returns>///
///<invoke>ToControl.OnBlur() || SubmitButton.Click();</invoke>///
function OnValidHTML(ToControl,ValidControl)
{var bstr='';var objToControl;var objValidControl;objToControl = document.getElementById(ToControl);objValidControl = document.getElementById(ValidControl);if(objToControl.value.IsHTML()){objValidControl.style.display='block';objValidControl.innerHTML = "此處不允許類似HTML標記";return false;}bstr=objToControl.value.CheckSQLInjection();if(bstr!='') { objValidControl.style.display='block';objValidControl.innerHTML = "此處不允許非法字符:" + bstr;//ForbiddenWord;return false;}objValidControl.style.display='none';return true;
}
?原文:http://www.cnblogs.com/ding0910/articles/341145.html
轉載于:https://www.cnblogs.com/hyyly/archive/2013/04/15/3021618.html
總結
以上是生活随笔為你收集整理的JavaScript公共运行库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 局域网聊天工具的设计与实现 java设
- 下一篇: 离散信号经过FFT处理后,幅度,相位,功