JavaScript收藏的经典函数

    技术2022-05-11  74

    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); }

    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; }

    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.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 --; }}

    7。返回两个时间的天数:要求比较的日期的格式为:YYYY-MM-DD*****************************/function getDays(strDateStart,strDateEnd){ var strSeparator = "-"; //日期分隔符 var strDateArrayStart; var strDateArrayEnd; var intDay; strDateArrayStart = strDateStart.split(strSeparator); strDateArrayEnd = strDateEnd.split(strSeparator); var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]); var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]); intDay = (strDateE-strDateS)/(1000*3600*24); if(isNaN(intDay)==false)   return intDay; else  return -1;}  


    最新回复(0)