zoukankan      html  css  js  c++  java
  • js 常用方法大全

    //-------常用js Function

    //------------start 已验证---------------//
    //定义报错信息
    var MSG_ERR001="$1不能为空!";
    var MSG_ERR002="$1的文字格式为$2!";
    var MSG_ERR003="$1不能超过$2个字节!";
    var MSG_ERR004="不能删除$1!!";

    /**
    * alert : 弹出出错信息
    * 引数 : sMsg 报错信息
    *     sParam1 引数1
    *     sParam2 引数2
    *     sParam3 引数3
    * 返回值 : 无
    */
    function alertMSG(sMsg,sParam1,sParam2,sParam3) {
     //引数1的替换
     if ( sParam1 ) {
            sMsg = sMsg.replace( "$1", sParam1 );
        }
        //引数2的替换
        if ( sParam2 ) {
            sMsg = sMsg.replace( "$2", sParam2 );
        }
        //引数3的替换
        if ( sParam3 ) {
            sMsg = sMsg.replace( "$3", sParam3 );
        }
        //Message表示
        alert( sMsg );
    }
    /**
    * cmConfirm:弹出确认信息
    * 引数 : sMsg 报错信息
    *     sParam1 引数1
    *     sParam2 引数2
    *     sParam3 引数3
    * 返回值:true ok场合
    *  false cancel场合
    */
    function confirmMSG( sMsg, sParam1, sParam2, sParam3 ) {
     //引数1的替换
     if ( sParam1 ) {
            sMsg = sMsg.replace( "$1", sParam1 );
        }
        //引数2的替换
        if ( sParam2 ) {
            sMsg = sMsg.replace( "$2", sParam2 );
        }
        //引数3的替换
        if ( sParam3 ) {
            sMsg = sMsg.replace( "$3", sParam3 );
        }
        //Message表示
        return confirm(sMsg);
    }

    /**
    * lTrim : 文字列左边空格去掉
    * 引数 : oTarget 输入的文字列
    * 返回值:返回去掉左边空格的文字列
    */
    function lTrim(oTarget) {
     var oResult = oTarget.replace( /^ */, "" );
     return(oResult);
    }

    /**
    * rTrim : 文字列右边空格去掉
    * 引数 : oTarget 输入的文字列
    * 返回值:返回去掉右边空格的文字列
    */
    function rTrim(oTarget) {
     var oResult = oTarget.replace( / *$/, "" );
     return(oResult);
    }

    /**
    * trim : 文字列左右两边空格去掉
    * 引数 : oTarget 输入的文字列
    * 返回值:返回去掉左右两边空格的文字列
    */
    function trim(oTarget) {
     var oResult;
     //去左边空格
     oResult = lTrim(oTarget);
     //去右边空格
     oResult = rTrim(oTarget);
     return(oResult);
    }
    /**
    * parseNum : format消除(数值)
    * 引数 : sVal 输入的文字列
    * 返回值:format消除后的值
    */
    function parseNum( sVal ) {
     if( !sVal ) {
            return "";
        }
        var sResult = new String( sVal );
        sResult = sResult.replace(/^ *0*/,"")   //去掉左边空格
                         .replace(/ +$/,"")     //去掉右边空格
                         .replace(/^\\/,"")     //金额
                         .replace(/,/g,"")     //逗号
                         .replace(/\./g,"")     //小数点
                         .replace(/-/g,"");     //杠号
        if ( isNaN( sResult )){
            return "";
        }
        if ( sResult == "" ) {
            return "";
        }
        return eval( sResult );
    }
    /**
    * chkInt : 整数的判断
    * 引数 : oSrc 输入的文字列
    *    sMode 标志:1 -> 减号可以输入; 2 -> 减号不可以输入
    * 返回值:true 整数
    *       false 整数以外
    */
    function chkInt( oSrc, sMode ) {
     var sVal = new String( oSrc );
        if ( sMode == 1 ) {
            if ( sVal.match(/^([+-]?[0-9]{1,3}(,[0-9]{3})*)?$/) == null &&
                 sVal.match(/^([+-]?[0-9]+)?$/) == null ) {
                return false;
            }
        } else {
            if ( sVal.match(/^([0-9.]{1,3}(,[0-9.]{3})*)?$/) == null &&
                 sVal.match(/^([0-9.]+)?$/) == null ) {
                return false;
            }
        }
        return true;
    }
    /**
    * isDigit : 半角数字的判断
    * 引数 : oSrc 输入的文字列
    * 返回值:true 半角数字
    *       false 半角数字以外
    */
    function isDigit( oSrc ) {
        var sVal = new String( oSrc );
        if ( sVal != "" ) {
            if ( sVal.match(/^[0-9]+$/) == null ) {
                return false;
            }
        }
        return true;
    }

    /**
    * isDigOrAlp : 半角英数字的判断
    * 引数 : oSrc 输入的文字列
    * 返回值:true 半角英数字
    *       false 半角英数字以外
    */
    function isDigOrAlp( oSrc ) {
        var sVal = new String( oSrc );
        if ( sVal != "" ) {
            if ( sVal.match(/^[0-9A-Za-z]+$/) == null ) {
                return false;
            }
        }
        return true;
    }

    /**
    * isZenkaku : 全角文字列的判断
    * 引数 : sVal 输入的文字列
    * 返回值:true 全角文字列
    *       false 全角文字列以外
    */
    function isZenkaku( sVal ) {
        var iCode;
     for (var i = 0; i<sVal.length; i++) {
      iCode = sVal.charCodeAt (i);
      if ((iCode < 127 && iCode != 13 && iCode != 10) || (iCode >= 0xff61 && iCode <= 0xff9f)){
       return false;
      }
     }
     return true;
    }
    /**
    * isHankaku : 半角文字列的判断
    * 引数 : sVal 输入的文字列
    * 返回值:true 半角文字列
    *       false 半角文字列以外
    */
    function isHankaku( sVal ) {
        var iLen = cmGetEBCDICLen( sVal );
        if ( iLen == sVal.length ) {
            return true;
        } else {
            return false;
        }
    }

    /**
    * getEBCDICLen : 文字列的byte数取得
    * 引数 : oSrc 输入的文字列
    * 返回值:文字列的byte数
    */
    function getEBCDICLen( sVal ) {
        var iLen = 0;
        for ( var i = 0; i < sVal.length;i++) {
            var sChar = sVal.charAt( i );
            if ( escape( sChar ).length > 3 ) {
                if ( sChar.charCodeAt( 0 ) >= 65382 &&
                     sChar.charCodeAt( 0 ) <= 65439 ) {
                    iLen += 2;
                } else {
                    iLen += 2;
                }
            } else {   
                iLen += 1;
            }
        }
        return iLen;
    }
    /**
    * checkMailAddress : mail的判断
    * 引数 : sVal 输入的文字列
    * 返回值:true 正常
      false 异常
    */
    function checkMailAddress(sVal)

     for(var i=0;i<sVal.length;i++){
      var ascii = sVal.charCodeAt(i);
      //'<':60,'>':62,'{':123,'}':125,':':58,';':59,'"':34,'\':92,'[':91,']':93
      if(ascii == 60 || ascii == 62 || ascii == 123
       || ascii == 125 || ascii == 58 || ascii == 59
       || ascii == 34 || ascii == 92 || ascii == 91
       || ascii == 93){
                return false;
      }
      if(ascii<0 || ascii>255){
       return false;
      }
     }
     var aVal = new Array();
     aVal = sVal.split("@");
     if(aVal.length != 2){
      return false;
     }else{
      if(aVal[0] == "" || aVal[1] == ""){
       return false;
      }
     }
     return true;
    }
    /**
    * checkFieldValue : 输入值的判断
    * 引数 : pFrame frame名
      pForm form名
      pField field名
      pHissu 必须(1:必须)
      pLenMin 行数(n:min行数)
      pLenMax 行数(n:max行数)
      pAttr 属性('':全部文字,CN_AL:半角英数字....)
      pNm 项目名
      pFieldFocus 出错时光标位置
      pIndex 复数项目index
    * 返回值:true 正常
      false 异常
    */
    function checkFieldValue(pFrame, pForm, pField, pHissu, pLenMin, pLenMax, pAttr, pNm, pFieldFocus, pIndex)
    {
      with (window.top.frames[pFrame].document.forms[pForm])
      {
        var wData = '';
        if (elements[pField].length){
            wData = elements[pField][pIndex].value;
        } else{
            wData = elements[pField].value;
        }
     //textarea的场合,去掉换行符
     if (elements[pField].type == "textarea") {
      wData = wData.replace(/\r\n/g,"");
     }
        //文件名开头去掉路径
        if (pAttr == "FILE" && wData != ""){
          //去掉'\'
          if (wData.match(/^[\\]+$/) == null ) {
            var wDataArr = wData.split("\\");
            if (wDataArr.length > 1){
              wData = wDataArr[wDataArr.length-1];
            }
          }
        }
        var iLen  = getEBCDICLen(wData);
        //必须项check
        if (pHissu == 1) {
          if (!iLen){
            cmAlert(MSG_ERR001, pNm);
            elements[pFieldFocus].focus();
            return(false);
          }
        }
     if (pLenMax != 0) {
          if (iLen > pLenMax) {
              alertMSG(MSG_ERR003, pNm, pLenMax);
              elements[pFieldFocus].focus();
              return(false);
          }
        }
        //属性check
        if (pAttr == "CN_AL"){
            if (!isDigOrAlp(wData)) {
                alertMSG(MSG_ERR002, pNm, "半角英数字");
                elements[pFieldFocus].focus();
                return(false);
            }
        }else if (pAttr == "CN"){
            if (!isDigit(wData)) {
                alertMSG(MSG_ERR002, pNm, "半角数字");
                elements[pFieldFocus].focus();
                return(false);
            }
        }else if(pAttr == "KJ"){
      if(!isZenkaku(wData)){
       alertMSG(MSG_ERR002, pNm, "全角文字");
                elements[pFieldFocus].focus();
                return(false);
      }
     }else if(pAttr == "MAL2"){
      if(!checkMailAddress(wData)){
       alertMSG(MSG_ERR002, pNm, "邮件地址");
                elements[pFieldFocus].focus();
                return(false);
      }
     }
        return(true);
     }
    }
    function   isDate(str){  
    if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/)){return   false;}  
    var   ar=str.replace(/\-0/g,"-").split("-");  
    ar=new   Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2]));  
    var   d=new   Date(ar[0],ar[1],ar[2]);  
    return   d.getFullYear()==ar[0]   &&   d.getMonth()==ar[1]   &&   d.getDate()==ar[2];  
    }

    //左边去空白
    function testLtrim(sValue) {
    for (var i=0; i<=sValue.length; i++ ) {
    if(sValue.substring(i,i+1)!=" ")
    break;
    }
    return sValue.substring(i,sValue.length);
    }

    // 右邊去空白
    function testRtrim(sValue) {
    for (var i=sValue.length; i>=0; i-- ) {
    if(sValue.substring(i-1,i)!=" ")
    break;
    }
    return sValue.substring(0, i);
    }

    // 左右邊去空白
    function testAllTrim(sValue) {
    return testRtrim(testLtrim(sValue));
    }


    //------------end 已验证---------------//

    //------------start 未验证---------------//
        
        //判断输入内容是否为空   
        function IsNull(){   
            var str = document.getElementById('str').value.trim();   
            if(str.length==0){   
                alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称!   
            }   
        }   
          
        //判断日期类型是否为YYYY-MM-DD格式的类型   
        function IsDate(){    
            var str = document.getElementById('str').value.trim();   
            if(str.length!=0){   
                var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;    
                var r = str.match(reg);    
                if(r==null)   
                    alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!   
                }   
        }    
          
        //判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型   
        function IsDateTime(){    
            var str = document.getElementById('str').value.trim();   
            if(str.length!=0){   
                var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;    
                var r = str.match(reg);    
                if(r==null)   
                alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!   
            }   
        }    
          
        //判断日期类型是否为hh:mm:ss格式的类型   
        function IsTime()    
        {    
            var str = document.getElementById('str').value.trim();   
            if(str.length!=0){   
            reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/    
                if(!reg.test(str)){   
                    alert("对不起,您输入的日期格式不正确!");//请将“日期”改成你需要验证的属性名称!   
                }   
            }   
        }    
          
        //判断输入的字符是否为英文字母   
        function IsLetter()    
        {    
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^[a-zA-Z]+$/;    
                if(!reg.test(str)){   
                    alert("对不起,您输入的英文字母类型格式不正确!");//请将“英文字母类型”改成你需要验证的属性名称!   
                }   
                }   
        }    
          
        //判断输入的字符是否为整数   
        function IsInteger()    
        {      
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^[-+]?\d*$/;    
                if(!reg.test(str)){   
                    alert("对不起,您输入的整数类型格式不正确!");//请将“整数类型”要换成你要验证的那个属性名称!   
                }   
                }   
        }    
          
        //判断输入的字符是否为双精度   
        function IsDouble(val)    
        {    
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^[-\+]?\d+(\.\d+)?$/;   
                if(!reg.test(str)){   
                    alert("对不起,您输入的双精度类型格式不正确!");//请将“双精度类型”要换成你要验证的那个属性名称!   
                }   
                }   
        }    
          
          
        //判断输入的字符是否为:a-z,A-Z,0-9   
        function IsString()    
        {    
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^[a-zA-Z0-9_]+$/;    
                if(!reg.test(str)){   
                    alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!   
                }   
                }   
        }    
          
        //判断输入的字符是否为中文   
        function IsChinese()    
        {    
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^[\u0391-\uFFE5]+$/;   
                if(!reg.test(str)){   
                    alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!   
                }   
                }   
        }    
          
        //判断输入的EMAIL格式是否正确   
        function IsEmail()    
        {    
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;   
                if(!reg.test(str)){   
                    alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!   
                }   
                }   
        }    
          
        //判断输入的邮编(只能为六位)是否正确   
        function IsZIP()    
        {    
                var str = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^\d{6}$/;   
                if(!reg.test(str)){   
                    alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!   
                }   
                }   
        }    
          
        //判断输入的数字不大于某个特定的数字   
        function MaxValue()    
        {    
            var val = document.getElementById('str').value.trim();   
                if(str.length!=0){   
                reg=/^[-+]?\d*$/;    
                if(!reg.test(str)){//判断是否为数字类型   
                    if(val>parseInt('123')) //“123”为自己设定的最大值   
                    {    
                        alert('对不起,您输入的数字超出范围');//请将“数字”改成你要验证的那个属性名称!   
                    }    
                }   
            }   
        }    
          
          
         Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/   
         Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/   
         Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/  
         IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/  
         QQ : /^[1-9]\d{4,8}$/  
         
        //为上面提供各个JS验证方法提供.trim()属性  
        String.prototype.trim=function(){  
                return this.replace(/(^\s*)|(\s*$)/g, "");   
            }  
        
        
        [input type="text" name="str" ]   
        [input type="button" value=" 确定 " onClick=""]//onClick中写自己要调用的JS验证函数   
        
    //------------start 未验证---------------//

        
    //-------End 常用js Function 

  • 相关阅读:
    迭代器和生成器
    函数嵌套
    页面调用dll
    C++MFC之picture control控件铺满图片
    C++中去掉string字符串中的 等
    C++之map使用
    C++之条形码,windows下zint库的编译及应用(二)
    C++之条形码,windows下zint库的编译及应用(一)
    C++通过HTTP请求Get或Post方式请求Json数据(转)
    从长字符串中获取想要的字符串
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1277749.html
Copyright © 2011-2022 走看看