【转】几个好用的JS函数

// 判断是不是数字create by qiujy
 function isNumber(str){
     var flag = true;
    
     for(i = 0; i < str.length; i++){
         var ch = elementValue.charAt(i);
         if(ch > '9' || ch < '0'){
             flag = false;
             break;
         }
     }
    
     return flag;
 }

 // 判断是否为空
 function isEmpty(str){
     if(str.length == 0){
         return true;
     }
     return false;
 }

 // 对于select,验证其必须有一个带值的option被选中,否则返回false
 function checkSelect(sel){
  var flag = false;
  for(i = 0;i < sel.options.length;i++){
   var op = sel.options[i];
   if(op.value != "" && op.selected == true){
    flag = true;
   }  
  }
   return flag;
 }

 // 对于多个的checkbox,验证它必须至少有一个被选中,否则返回false
 function checkCheckBox(che){
  var result = false;
  if((typeof che.length) == "number"){
   for(i = 0;i < che.length ;i++){
    if(che[i].checked){
     return true;
    }
   }
  }else{
   // alert("OK!");
   // alert(che.checked);
   if(che.checked){
    return true;
   }
  }
  return result;
 }

 // 验证设定的密码的有效性
 // 调用样例
 //<input type="text" name="userName" >
 //<input type="text" name="userName2" >
 //<input name="Submit2" type="button" class="niu1" value="检测" onclick="return(checkPassword(userName.value,userName2.value));">

 function checkPassword(str1,str2) {
  if(str1.length == 0 ){
   alert("密码不能为空");
   return false;
  }
  if(str1.length > 18 || str1.length < 4){
   alert("请将密码长度设置在 4-18 位!");
   return false;
  }
  //密码验证
  if(str1 != str2){
   alert("两次输入的密码不一致!");
   return false;
  }
  return true;
 }
  

 // 电子信箱格式校验
 function checkEMailFormat(str){
  var reg = /^[_/.0-9a-z-]+@([0-9a-z][0-9a-z-]+/.)+[a-z]{2,3}$/;
  var result = str.match( reg );
  if( result == null )
   {
    alert( '请输入正确的电子邮件地址' );
    return false;
   }
   return true;
 }

 // 用户名格式校验,允许数字,字母,下滑线
 function checkUserIdFormat(str){
   var reg = //w/;
   var result = str.match( reg );
   if( result == null )
   {
    return false;
   }
   return true;
 }

 // 输入控制
 // 调用样例: <input onKeyPress="inputContrl('digit')" name ="userName" >
 function inputContrl(InputMod){
  // InputMod可以组合输入:"chinese,letter,digit"
  if(InputMod==""||InputMod==null) event.returnValue=false;
  InputMod=InputMod.toLowerCase();
  var gFlag = false;

  // 只能是数字
  if(InputMod.indexOf("digit")!=-1&&gFlag==false)
   if(event.keyCode>=48&&event.keyCode<=57) gFlag=true;

  // 只能是中文
  if(InputMod.indexOf("chinese")!=-1&&gFlag==false)
   if(event.keyCode>=256) gFlag=true;

  // 只能是字母
  if(InputMod.indexOf("letter")!=-1&&gFlag==false)
   if((event.keyCode>=65&&event.keyCode<=90)||(event.keyCode>=97&&event.keyCode<=122))
    gFlag=true;

  // 只能是金额数(数字和小数点)
  if(InputMod.indexOf("money")!=-1&&gFlag==false)
   if (event.keyCode<=57 && event.keyCode>=48 || event.keyCode==46 || event.keyCode == 44)
    gFlag=true;

  // 只能是指定的符号
  if(InputMod.indexOf("symbol")!=-1&&gFlag==false){
   alert("running here");
   if(event.keyCode=='_' || event.keyCode=='-')
    gFlag=true;
  }
  event.returnValue = gFlag;
 }

 // 检查字符串中是否有中文
 function check_chinese(str) {
  for(var i=0;i<str.length;i++){
   var c=str.charCodeAt(i);
   if(c > 0x4E00 && c < 0X9FA5){
    alert("用户名中包含有中文:["+str.charAt(i)+"]");
    return false;
   }
  }
  return true;
 }

    //检验字符串是不是金额数
    function check_money(str){
        var re = /^(/d+|[1-9])/.{0,1}/d{0,2}$/;
        if (!re.test(str)){
            alert("输入的金额数有误! 示例:123或123.45");
            return false;
        }
        return true;
    }

================2006年2月27日 增加======================

//选中的select 选项从名字为srcSelect的下拉列表移动到名字为desSelect的下拉列表中。

function moveOption(srcSelect,desSelect){
 srcLen = srcSelect.options.length;
 desLen = desSelect.options.length;
 for (i=0;i<srcLen;i++){
  optionObj = srcSelect.options[i];
  if (optionObj.selected){
   text = optionObj.text;
   value = optionObj.value;
   desSelect.options[desLen++] = new Option(text,value);
  }
 }
 for (i=srcLen-1;i>=0;i--){
  optionObj = srcSelect.options[i];
  if (optionObj.selected){
   optionObj.selected = false;
   srcSelect.options[i] = null;
  }
 }
}

//select 选项的上下移动(obj 为select的id, index:-1表示上移;1表示下移)
function changepos(obj,index)
{
 if(index==-1){
  if (obj.selectedIndex>0){
   obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1))
  }
 }
 else if(index==1){
  if (obj.selectedIndex<obj.options.length-1) {
   obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1))
  }
 }
}

posted @ 2012-06-27 13:57  琥珀光  阅读(212)  评论(0编辑  收藏  举报