发新话题
打印

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

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.value = rlist.options[i+1].value;
  rlist.options.text = rlist.options[i+1].text;
}
rlist.length --;
}
//把右边选中的加入左边
function AssignRight_AssignSelected(){
for(var i = rlist.length - 1; i >= 0; i --) {
  if(rlist.options.selected) {
   llist.options.length++;
   llist.options[llist.options.length-1].value = rlist.options.value;
   llist.options[llist.options.length-1].text = rlist.options.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.value;
  llist.options[llist.options.length-1].text = rlist.options.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.value = llist.options[i+1].value;
  llist.options.text = llist.options[i+1].text;
}
llist.length --;
}
//把左边选中的项目加入右边
function AssignRight_DenySelected() {
for(var i = llist.length - 1; i >= 0; i --) {
  if(llist.options.selected) {
   rlist.options.length++;
   rlist.options[rlist.options.length-1].value = llist.options.value;
   rlist.options[rlist.options.length-1].text = llist.options.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.value;
  rlist.options[rlist.options.length-1].text = llist.options.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 --;
}
}

TOP

发新话题