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 

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1277749.html
Copyright © 2011-2022 走看看