📄 functions.asp
字号:
<script language="JScript" runAt="server">
// Check if file is called inside bird
var inbird;
if(inbird!=true){
Response.write("Invalid Call");
Response.End();
}
function birdFunc(){
this.version = 1;
// Process Request & Post Data function ---------------------
this.getInput = function(){
var input=new Array();
var e=new Enumerator(Request.QueryString);
for (;!e.atEnd();e.moveNext()){
x=e.item();
input[String(x).toLowerCase()]=String(Request.QueryString(x));
}
e=new Enumerator(Request.Form);
for (;!e.atEnd();e.moveNext()){
x=e.item();
input[String(x).toLowerCase()]=String(Request.Form(x));
}
return input;
}
// HTMLEncode String -----------------------------------------
this.HTMLEncode = function(str){
if(str==null){ return ""; }
str = str.replace(/\&/g, "&");
str = str.replace(/\>/g, ">");
str = str.replace(/\</g, "<");
str = str.replace(/\t/g, " ");
str = str.replace(/\"/g, """);
str = str.replace(/\'/g, "'");
str = str.replace(/\n/g, "<br />");
return str;
}
// HTMLEncode For Textarea -----------------------------------
this.HTMLEncodeLite = function(str){
if(str==null){ return ""; }
str = str.replace(/\&/g, "&");
str = str.replace(/\>/g, ">");
str = str.replace(/\</g, "<");
str = str.replace(/\"/g, """);
str = str.replace(/\'/g, "'");
return str;
}
// URL Encode -----------------------------------
this.URLEncode = function(str){
if(str==null){ return ""; }
str = str.replace(/\&\;/ig,"&");
str = str.replace(/\&/g, "&");
str = str.replace(/\>/g, ">");
str = str.replace(/\</g, "<");
str = str.replace(/\"/g, """);
str = str.replace(/\'/g, "'");
str = str.replace(/\[/g, "[");
str = str.replace(/\]/g, "]");
return str;
}
// String Length with Double Bytes Language Support ----------
this.lengthW = function(str){
if(str==null){ return 0; }
var tLen=0;
for(var i=0;i<str.length;i++){
charCode=str.charCodeAt(i);
if(charCode<0||charCode>255){ tLen+=2 }else{ tLen++ }
}
return tLen;
}
// Cut Long String -------------------------------------------
this.cutString = function(str, outputLen){
var strLen,tLen, charCode;
if(str==null){ return ""; }
strLen=str.length;
tLen=0;
for(var i=0;i<strLen;i++){
charCode=str.charCodeAt(i);
if(charCode<0||charCode>255){ tLen+=2 }else{ tLen++ }
if(tLen>=outputLen){ return str.substr(0,i)+"..."; }
}
return str;
}
// Trim String -----------------------------------------------
this.trim = function(str){
// Trim Extra Spaces & Newlines
if(str==null){ return ""; }
str=str.replace(/(^\s*|\s*$)/g,"");
str=str.replace(/(\r*\n){3,}/g,"\n\n");
str=str.replace(/\r/g,"");
return str;
}
// Convert String to RegExp compatible -----------------------------------------------
this.stringToRegExp = function(str){
if(str==null){ return ""; }
str=str.replace(/\\/g,"\\");
str=str.replace(/\^/g,"\\^");
str=str.replace(/\*/g,"\\*");
str=str.replace(/\?/g,"\\?");
str=str.replace(/\+/g,"\\+");
str=str.replace(/\./g,"\\.");
str=str.replace(/\|/g,"\\|");
str=str.replace(/\[/g,"\\[");
str=str.replace(/\]/g,"\\]");
str=str.replace(/\(/g,"\\(");
str=str.replace(/\)/g,"\\)");
str=str.replace(/\{/g,"\\{");
str=str.replace(/\}/g,"\\}");
return str;
}
// Highlight String -----------------------------------------------
this.highlight = function(str, arrKeywords){
if(str==null||arrKeywords==null){ return ""; }
// Generate Keyword RegExp String - We need to duplicate the original keyword array here
var reStr=arrKeywords.join("$,$");
reStr=reStr.split("$,$");
for(var i=0;i<reStr.length;i++){
if(func.lengthW(reStr[i])<3){
reStr.splice(i,1);
i--;
}else{
reStr[i]=this.stringToRegExp(reStr[i]);
}
}
reStr=new RegExp("("+reStr+")","ig");
var re=new RegExp("(\>|^)(.*?)(\<|$)","igm");
while ((arrMatch = re.exec(str)) != null){
var newStr=arrMatch[1]+arrMatch[2].replace(reStr,'<span class="highlight">'+"$1"+'</span>')+arrMatch[3];
str=str.replace(arrMatch[0],newStr);
re.lastIndex+=newStr.length-arrMatch[0].length;
}
return str;
}
// Trim HTML Tags --------------------------------------------
this.trimHTML = function(str){
if(str==null){ return ""; }
str=str.replace(/\<[^\<\>]+\>/g,"");
str=str.replace(/ +/g," ");
return str;
}
// Trim UBB Tags --------------------------------------------
this.trimUBB = function(str){
if(str==null){ return ""; }
str=str.replace(/\[quote([^\[\]]+|)\](\n*)(\s*)/ig,"\"");
str=str.replace(/(\s*)(\n*)\[\/quote\]/ig,"\"");
str=str.replace(/\[code\](\n*)(\s*)/ig,"\"");
str=str.replace(/(\s*)(\n*)\[\/code\]/ig,"\"");
str=str.replace(/\[hr\]/g,"\n------\n");
str=str.replace(/\[(\/|)(b|i|u|s|sup|sub|url[^\]]*|align[^\]]*|size[^\]]*|color[^\]]*|font[^\]]*|list[^\]]*|email[^\]]*|img[^\]]*|swf[^\]]*|wmp[^\]]*|qt[^\]]*|rm[^\]]*)\]/ig,"");
str=str.replace(/\[\*\]/g,"*");
str=str.replace(/ +/g," ");
return str;
}
// Clean HTML Tags --------------------------------------------
this.cleanHTML = function(str){
var re=new RegExp("\<scr"+"ipt([^\<\>]+)\>","ig");
str=str.replace(re,"<script$1>");
re=new RegExp("\<\/scr"+"ipt\>","ig");
str=str.replace(re,"</script>");
delete re;
str=str.replace(/\<iframe(\/| \/|)\>/ig,"<iframe$1>");
str=str.replace(/\<\/iframe\>/ig,"</iframe>");
str=str.replace(/\<br(\/| \/|)\>/ig,"<br/>");
return str;
}
// Close HTML Tags --------------------------------------------
this.closeHTML = function(str){
var arrTags=["p","div","span","table","ul","font","b","u","i","h1","h2","h3","h4","h5","h6"];
for(var i=0;i<arrTags.length;i++){
var intOpen=0;
var intClose=0;
var re=new RegExp("\\<"+arrTags[i]+"( [^\\<\\>]+|)\\>","ig");
var arrMatch=str.match(re);
if(arrMatch!=null) intOpen=arrMatch.length;
re=new RegExp("\\<\\/"+arrTags[i]+"\\>","ig");
arrMatch=str.match(re);
if(arrMatch!=null) intClose=arrMatch.length;
for(var j=0;j<intOpen-intClose;j++){
str+="</"+arrTags[i]+">";
}
}
return str;
}
// Close UBB Tags --------------------------------------------
this.closeUBB = function(str){
var arrTags=["code","quote","list","color","align","font","size","b"];
for(var i=0;i<arrTags.length;i++){
var intOpen=0;
var intClose=0;
var re=new RegExp("\\["+arrTags[i]+"(=[^\\[\\]]+|)\\]","ig");
var arrMatch=str.match(re);
if(arrMatch!=null) intOpen=arrMatch.length;
re=new RegExp("\\[\\/"+arrTags[i]+"\\]","ig");
arrMatch=str.match(re);
if(arrMatch!=null) intClose=arrMatch.length;
for(var j=0;j<intOpen-intClose;j++){
str+="[/"+arrTags[i]+"]";
}
}
return str;
}
// Check String for SQL Query --------------------------------
this.checkStr = function(str){
str=str.replace(/\'/g,"''");
str=str.replace(/\r/g,"");
str=str.replace(/(wh)(ere)/ig,"$1'+'$2");
return str;
}
// Check Int -------------------------------------------------
// Convert String to Int
this.checkInt = function(intStr){
if(!intStr){ return 0; }
intStr=parseInt(intStr,10);
if(isNaN(intStr)){ return 0; }
return intStr;
}
// Check Username -------------------------------------------
this.checkUsername = function(str){
if(typeof(str)!="string"){ return false; }
if(this.lengthW(str)<3||str.length>24){ return false; }
if(str.search(/[^\w\u3400-\u4DBF\u4E00-\u9FAF]/)!=-1){
return false;
}
return true;
}
// Check Password -------------------------------------------
this.checkPassword = function(str){
if(str==null){ return false; }
if(str.length<6||str.length>16){ return false; }
if(str.search(/[^\x20-\x7e]/g)!=-1){
return false;
}
return true;
}
// Check Email ----------------------------------------------
this.checkEmail = function(str){
if(str==null){ return false; }
if(str.length<6||str.length>50){ return false; }
var m;
if((m=str.match(/[\w\[\]\@\(\)\.]+\.+[A-Za-z]{2,4}/g)) != null){
if(m[0]==str) return true;
}
return false;
}
// Check URL ----------------------------------------------
this.checkURL = function(str){
str = str.replace(/document\.cookie/ig, "document cookie");
str = str.replace(/document\.write/ig, "document write");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -