收集整理了一些javascript 經典函數
?本人收集客戶端開發經典javascript方法,希望對大家有所幫助。???? 1、字符串替代方法。
function?String_Replace(srcString,findString,replaceString){
??return?String_ReplaceB(srcString,?findString,?replaceString,?0);
?}
?function?String_ReplaceB(expression,?find,?replacewith,?start)?{
??var?index?=?expression.indexOf(find,?start);
??if?(index?==?-1)
???return?expression;?
??var?findLen?=?find.length;
??var?newexp?=?"";
??newexp?=?expression.substring(0,?index)+(replacewith)+(expression.substring(index+findLen));
??return?String_ReplaceB(newexp,?find,?replacewith,?index+1+findLen);
?}
??return?String_ReplaceB(srcString,?findString,?replaceString,?0);
?}
?function?String_ReplaceB(expression,?find,?replacewith,?start)?{
??var?index?=?expression.indexOf(find,?start);
??if?(index?==?-1)
???return?expression;?
??var?findLen?=?find.length;
??var?newexp?=?"";
??newexp?=?expression.substring(0,?index)+(replacewith)+(expression.substring(index+findLen));
??return?String_ReplaceB(newexp,?find,?replacewith,?index+1+findLen);
?}
???? 2、取字符串長度方法
function?String_GetLength(str){
??var?i,rt=0;
??for(i=0;i<str.length;i++)
??{
???rt++;
???if(str.charCodeAt(i)>256)rt++;
??}
??return?rt;
?}
??var?i,rt=0;
??for(i=0;i<str.length;i++)
??{
???rt++;
???if(str.charCodeAt(i)>256)rt++;
??}
??return?rt;
?}
???? 3、求浮點數方法
function?getFloat(num)
?{
??var?num?=?parseFloat(num);
??if(isNaN(num))num?=?0;
??return?num;
?}
?{
??var?num?=?parseFloat(num);
??if(isNaN(num))num?=?0;
??return?num;
?}
???? 4、求整數方法(用到浮點數取法)
?function?getInt(num)?
?{?
??return?parseInt(getFloat(num));?
?}
?{?
??return?parseInt(getFloat(num));?
?}
???? 5、判斷文本域對象是否惟空
function?at_checkBlank(obj,caption)?{
??if(String_Replace(obj.value,"?","")=="")
??{
???obj.select();
???alert(caption+"不能為空?");
???obj.focus();
???return?false;
??}
??return?true;
?}
??if(String_Replace(obj.value,"?","")=="")
??{
???obj.select();
???alert(caption+"不能為空?");
???obj.focus();
???return?false;
??}
??return?true;
?}
???? 6、兩個Select對象(llist,rlist)互相操作
var?llist?=?fmObj.AssignedUser;//左邊已經選中項目
var?rlist?=?fmObj.WaitedUser;//右邊未被選中的項目
//雙擊右邊select中的項目
function?AssignUser()?{
?if(rlist.selectedIndex?<?0?||?rlist.selectedIndex?>?rlist.options.length)return;
?var?i;
?llist.options.length++;
?llist.options[llist.options.length-1].value?=?rlist.options[rlist.selectedIndex].value;
?llist.options[llist.options.length-1].text?=?rlist.options[rlist.selectedIndex].text;
?for(i?=?rlist.selectedIndex;?i?<?rlist.options.length?-?1;?i?++)?{
??rlist.options[i].value?=?rlist.options[i+1].value;
??rlist.options[i].text?=?rlist.options[i+1].text;
?}
?rlist.length?--;
}
//把右邊選中的加入左邊
function?AssignRight_AssignSelected(){
?for(var?i?=?rlist.length?-?1;?i?>=?0;?i?--)?{
??if(rlist.options[i].selected)?{
???llist.options.length++;
???llist.options[llist.options.length-1].value?=?rlist.options[i].value;
???llist.options[llist.options.length-1].text?=?rlist.options[i].text;
???for(var?j?=?i;?j?<?rlist.options.length?-?1;?j?++)?{
????rlist.options[j].value?=?rlist.options[j+1].value;
????rlist.options[j].text?=?rlist.options[j+1].text;
???}
???rlist.length?--;
??}
?}
}
//把右邊所有加入左邊
function?AssignRight_AssignAll(){
?for(var?i?=?rlist.length?-?1;?i?>=?0;?i?--)?{
??llist.options.length++;
??llist.options[llist.options.length-1].value?=?rlist.options[i].value;
??llist.options[llist.options.length-1].text?=?rlist.options[i].text;
??for(var?j?=?i;?j?<?rlist.options.length?-?1;?j?++)?{
???rlist.options[j].value?=?rlist.options[j+1].value;
???rlist.options[j].text?=?rlist.options[j+1].text;
??}
??rlist.length?--;
?}
}
//左邊select項目雙擊
function?DenyUser()?{
?if(llist.selectedIndex?<?0?||?llist.selectedIndex?>?llist.options.length)return;
?var?i;
?rlist.options.length++;
?rlist.options[rlist.options.length-1].value?=?llist.options[llist.selectedIndex].value;
?rlist.options[rlist.options.length-1].text?=?llist.options[llist.selectedIndex].text;
?for(i?=?llist.selectedIndex;?i?<?llist.options.length?-?1;?i?++)?{
??llist.options[i].value?=?llist.options[i+1].value;
??llist.options[i].text?=?llist.options[i+1].text;
?}
?llist.length?--;
}
//把左邊選中的項目加入右邊
function?AssignRight_DenySelected()?{
?for(var?i?=?llist.length?-?1;?i?>=?0;?i?--)?{
??if(llist.options[i].selected)?{
???rlist.options.length++;
???rlist.options[rlist.options.length-1].value?=?llist.options[i].value;
???rlist.options[rlist.options.length-1].text?=?llist.options[i].text;
???for(j?=?llist.selectedIndex;?j?<?llist.options.length?-?1;?j?++)?{
????llist.options[j].value?=?llist.options[j+1].value;
????llist.options[j].text?=?llist.options[j+1].text;
???}
???llist.length?--;
??}
?}
}
//左邊所有項目加入右邊
function?AssignRight_DenyAll()?{
?for(var?i?=?llist.length?-?1;?i?>=?0;?i?--)?{
??rlist.options.length++;
??rlist.options[rlist.options.length-1].value?=?llist.options[i].value;
??rlist.options[rlist.options.length-1].text?=?llist.options[i].text;
??for(j?=?i;?j?<?llist.options.length?-?1;?j?++)?{
???llist.options[j].value?=?llist.options[j+1].value;
???llist.options[j].text?=?llist.options[j+1].text;
??}
??llist.length?--;
?}
}
var?rlist?=?fmObj.WaitedUser;//右邊未被選中的項目
//雙擊右邊select中的項目
function?AssignUser()?{
?if(rlist.selectedIndex?<?0?||?rlist.selectedIndex?>?rlist.options.length)return;
?var?i;
?llist.options.length++;
?llist.options[llist.options.length-1].value?=?rlist.options[rlist.selectedIndex].value;
?llist.options[llist.options.length-1].text?=?rlist.options[rlist.selectedIndex].text;
?for(i?=?rlist.selectedIndex;?i?<?rlist.options.length?-?1;?i?++)?{
??rlist.options[i].value?=?rlist.options[i+1].value;
??rlist.options[i].text?=?rlist.options[i+1].text;
?}
?rlist.length?--;
}
//把右邊選中的加入左邊
function?AssignRight_AssignSelected(){
?for(var?i?=?rlist.length?-?1;?i?>=?0;?i?--)?{
??if(rlist.options[i].selected)?{
???llist.options.length++;
???llist.options[llist.options.length-1].value?=?rlist.options[i].value;
???llist.options[llist.options.length-1].text?=?rlist.options[i].text;
???for(var?j?=?i;?j?<?rlist.options.length?-?1;?j?++)?{
????rlist.options[j].value?=?rlist.options[j+1].value;
????rlist.options[j].text?=?rlist.options[j+1].text;
???}
???rlist.length?--;
??}
?}
}
//把右邊所有加入左邊
function?AssignRight_AssignAll(){
?for(var?i?=?rlist.length?-?1;?i?>=?0;?i?--)?{
??llist.options.length++;
??llist.options[llist.options.length-1].value?=?rlist.options[i].value;
??llist.options[llist.options.length-1].text?=?rlist.options[i].text;
??for(var?j?=?i;?j?<?rlist.options.length?-?1;?j?++)?{
???rlist.options[j].value?=?rlist.options[j+1].value;
???rlist.options[j].text?=?rlist.options[j+1].text;
??}
??rlist.length?--;
?}
}
//左邊select項目雙擊
function?DenyUser()?{
?if(llist.selectedIndex?<?0?||?llist.selectedIndex?>?llist.options.length)return;
?var?i;
?rlist.options.length++;
?rlist.options[rlist.options.length-1].value?=?llist.options[llist.selectedIndex].value;
?rlist.options[rlist.options.length-1].text?=?llist.options[llist.selectedIndex].text;
?for(i?=?llist.selectedIndex;?i?<?llist.options.length?-?1;?i?++)?{
??llist.options[i].value?=?llist.options[i+1].value;
??llist.options[i].text?=?llist.options[i+1].text;
?}
?llist.length?--;
}
//把左邊選中的項目加入右邊
function?AssignRight_DenySelected()?{
?for(var?i?=?llist.length?-?1;?i?>=?0;?i?--)?{
??if(llist.options[i].selected)?{
???rlist.options.length++;
???rlist.options[rlist.options.length-1].value?=?llist.options[i].value;
???rlist.options[rlist.options.length-1].text?=?llist.options[i].text;
???for(j?=?llist.selectedIndex;?j?<?llist.options.length?-?1;?j?++)?{
????llist.options[j].value?=?llist.options[j+1].value;
????llist.options[j].text?=?llist.options[j+1].text;
???}
???llist.length?--;
??}
?}
}
//左邊所有項目加入右邊
function?AssignRight_DenyAll()?{
?for(var?i?=?llist.length?-?1;?i?>=?0;?i?--)?{
??rlist.options.length++;
??rlist.options[rlist.options.length-1].value?=?llist.options[i].value;
??rlist.options[rlist.options.length-1].text?=?llist.options[i].text;
??for(j?=?i;?j?<?llist.options.length?-?1;?j?++)?{
???llist.options[j].value?=?llist.options[j+1].value;
???llist.options[j].text?=?llist.options[j+1].text;
??}
??llist.length?--;
?}
}