javascript 經典函式 (轉)

amyz發表於2007-08-15
javascript 經典函式 (轉)[@more@]

  本人收集客戶端開發經典script方法,望各位補充!

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 newe= "";
 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 {
 rt++;
 if(str.charCodeAt(i)>256)rt++;
 }
 return rt;
 }

3。求浮點數方法
 function getFloat(num)
 {
 var num = parseFloat(num);
 if(isNaN(num))num = 0;
 return num;
 }

4。求整數方法(用到浮點數取法)
 function getInt(num)
 {
 return parseInt(getFloat(num));
 }

5。判斷文字域是否惟空
function at_checkBlank(obj,caption) {
 if(String_Replace(obj.value," ","")=="")
 {
 obj.();
 alert(caption+"不能為空¡");
 obj.focus();
 return false;
 }
 return true;
 }

6。兩個Select物件(llist,rlist)互相操作
var llist = fmObj.AssignedUser;//左邊已經選中專案
var rlist = fmObj.WaitedUser;//右邊未被選中的專案
//雙擊右邊select中的專案
function Assiser() {
 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 --;
 }
}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-957849/,如需轉載,請註明出處,否則將追究法律責任。

相關文章