zoukankan      html  css  js  c++  java
  • 一点点进步

    str=str.replace(/\"/g,"");//正则去除字符串中的双引号       

    //用正则取地址栏参数
            function GetQueryString(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]); return null;
            }       

    //限制文本框只能输入double类型数据

    function clearNoNum(event, obj) {
    //响应鼠标事件,允许左右方向键移动
    event = window.event || event;
    if (event.keyCode == 37 | event.keyCode == 39) {
    return;
    }
    //先把非数字的都替换掉,除了数字和.
    obj.value = obj.value.replace(/[^\d.]/g, "");
    //必须保证第一个为数字而不是.
    obj.value = obj.value.replace(/^\./g, "");
    //保证只有出现一个.而没有多个.
    obj.value = obj.value.replace(/\.{2,}/g, ".");
    //保证.只出现一次,而不能出现两次以上
    obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    }
    function checkNum(obj) {
    //为了去除最后一个.
    obj.value = obj.value.replace(/\.$/g, "");
    }

    //限制文本框只能输入整形

    //只能输入数字(正整数)
    function chkPrice(obj) {
    obj.value = obj.value.replace(/[^\d]/g, "");
    }


            function onKeyPressForDouble(o,event)
            {
                var keyChar = String.fromCharCode(event.keyCode);
                var value = o.value;
                var numstr = "0123456789.";
                if (numstr.indexOf(keyChar)>-1){
                    if ((keyChar == ".") && (value.indexOf(".")>-1))
                    {
                        event.keyCode=0;
                        return false;
                    }
                }else
                {
                    event.keyCode=0;
                    return false;
                }
                return true;
            }

    1.Server.MapPath("../treejquery/demo/treegrid_data.aspx")   //Server.MapPath里面是放文件的相对路径

    2.文件流的操作

                FileStream fs = new FileStream(Server.MapPath("../treejquery/demo/treegrid_data.aspx"), FileMode.OpenOrCreate);//文件流
                //编码格式  System.Text.Encoding.GetEncoding("GB2312")一般不容易出现乱码问题             
                Byte[] info = System.Text.Encoding.GetEncoding("GB2312").GetBytes(hidjson.Value);//string与byte[]相互间转换
                fs.Write(info, 0, info.Length);  //将文件内容写入文件
                fs.Flush();//刷新文件 清除缓存流
                fs.Close();//关闭

    3.var _html=document.getElementById("testexcel").outerHTML;   //获取包含当前操作的html代码
       $("#testexcel").html()   //只能获取当前操作的子节点的html

    //向DataSet中添加多个DataTable
    4.
    DataSet ds=new DataSet();
    DataTable dt1 =new DataTable(); 
       dt1.TableName = "new";
       ds.Tables.Add(dt1.Copy());
     DataTable dt2=new DataTable();
      dt2.TableName="new2";
      ds.Tables.Add(dt2.Copy());

    5.distinct  sqlserver数据库不重复数据关键字

    6.
    string AllSubSort = "asdf123><dddddd126";  //正则取字符串中的数字并用逗号隔开
                string strRet = "";
                string pattern = "\\d+";

                MatchCollection matchs = Regex.Matches(AllSubSort, pattern);
                if (matchs != null)
                {
                    foreach (Match match in matchs)
                    {
                        if (match != null)
                            strRet += match.Groups[0].ToString() + ",";// +match.Groups["key"].Value;
                    }
                }
                string[] ar = strRet.Split(new char[] { ',' });
                this.TextBox1.Text = strRet;

    7.XML对数据的操作并将table转换为dataset

    str = "<?xml version=\"1.0\" standalone=\"yes\"?>" + "<table>" + str + "</table>";                //清洗
    XmlDocument doc = new XmlDocument();
     doc.LoadXml(str);
    XmlNodeList nodes = doc.SelectNodes("//tr");

    for (int j = 0; j < nodes.Count; j++)
                    {
                        XmlNode node = nodes[j];
                        for (int i = 0; i < node.ChildNodes.Count; i++) //列的循环,为每个列指定名称  
                        {
                            XmlNode n = doc.CreateNode(XmlNodeType.Element, "col" + i.ToString(), "");
                            n.InnerXml = node.ChildNodes[i].InnerText;
                            node.ReplaceChild(n, node.ChildNodes[i]);
                        }
                    }

                    //导入Dataset
                    DataSet ds = ds = new DataSet();
                    StringReader tr = new StringReader(doc.InnerXml);
                    ds.ReadXml(tr);
                    DataTable dt = ds.Tables[0];

    8.  //XML格式字符串替换
    public static string ReplaceFontSpan(string s)
            {
                Regex r = new Regex("<head>.*?</head>");
                s = r.Replace(s, "");
                r = new Regex("</?font.*?>");
                s = r.Replace(s, "");
                r = new Regex("</?span.*?>");
                s = r.Replace(s, "");
                r = new Regex("</?a.*?>");
                s = r.Replace(s, "");
                r = new Regex("&nbsp");
                s = r.Replace(s, "");
                r = new Regex("</?tbody.*?>");
                s = r.Replace(s, "");
                r = new Regex("</?table.*?>");
                s = r.Replace(s, "");
                return s;
            }
    9.http://www.cainiao8.com/web/js_note/js_regular_expression_blueidea.html    正则表达式牛逼

    10./// <summary>
            /// 转换中文excel名称,防止乱码,兼容IE和火狐
            /// </summary>
            /// <param name="fileName">中文名称</param>
            /// <returns></returns>
            public static string GetToExcelName(string fileName)
            {
                string UserAgent = HttpContext.Current.Request.ServerVariables["http_user_agent"].ToLower();
                if (UserAgent.IndexOf("firefox") == -1)
                    fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);
                return fileName;
            }

     11.附带下载的文件操作
      private void csvfile(string table, string excelname, string _zfcs)         {            
          string name=GetSaveFilePath();            
          string path = Server.MapPath("\\upload") + name + ".csv";            
          FileStream file = new FileStream(path, FileMode.Create);//创建文件流            
          Byte[] info = System.Text.Encoding.GetEncoding(_zfcs).GetBytes(table);          
          file.Write(info, 0, info.Length);//文件内容写入文件流            
          file.Flush();            
          file.Close();            
          file.Dispose();
          long size = info.Length;            
          Response.Clear();            
         Response.ContentType = "application/octet-stream"; //"application/octet-stream";//octet-stream            
         Response.AppendHeader("Content-Disposition", "attachment;filename=" + GetToExcelName(excelname) + ".csv");            
         Response.AppendHeader("Content-Length", size.ToString());            
         Response.AppendHeader("Content-Transfer-Encoding", "binary");            
         Response.ContentEncoding = System.Text.Encoding.UTF8;            
         Response.WriteFile(path, 0, info.Length);            
         Response.Flush();            
         Response.End();
    }

    12. javascript 动态生成form表单以及隐藏域
    function Excelbut( divid,tag,sheetname,excelname,kz,zfcs ){ //excel       
         var _wtb='',_html='';    
         var wtb=GetTableData(divid);//解析table中的colspan与rospan,还原成colspan=2为 <td>1</td> <td>2</td>     
         wtb=wtb.split('☆');    
        _wtb=wtb[0];    
        _html=wtb[1];   
        var form = P_createElement('form', {   
             method: 'post',    
             action:'http://export.yikeba.com/ToEXCELpage.aspx',    
             enctype: 'multipart/form-data'   }, {    
             display: 'none'   }, document.body);  //_html

        P_each(['hidhtml','excelname','sheetname','hidkz','tag','zfcs','wantable'], function (name) {    
              P_createElement('input', {    
                  type: 'hidden',    
                  name: name,    
                  value: {     
                  hidhtml:_html, //原始table中colspan=2     
                  excelname:excelname,  //'导出应付列表',     
                  sheetname: sheetname, //'名称1|',     
                  hidkz:kz, //'', //是否允许转化特殊格式 "true"代表要进行特殊格式化  比如DateTime类型倒出来就是日期格式     
                  tag:tag, //导出文件参数  默认为空 为空时候就是xls  另一种是csv                
                  zfcs:zfcs, //字符参数  默认为空 为空时候就是utf-8  另一种是gb2312                      
                  wantable:_wtb //解析table中的colspan与rospan,还原成colspan=2为 <td>1</td> <td>2</td>        
       }[name]    }, null, form);   });

      // submit   
       form.submit();

      // clean up   
    P_discardElement(form);  
    }

    function GetTableData(divid){//解析table中的colspan与rospan,还原成colspan=2为 <td>1</td> <td>2</td>
          var z='',z1='',yta1='',wtb='';
          for(var i=0;i<$("#"+divid).find("table.my_tbl").length;i++){
            if($("#"+divid).find("table.my_tbl:eq("+i+")").attr("id")==undefined){
          $("#"+divid).find("table.my_tbl:eq("+i+")").attr("id","Table"+(i+1));
         }
       var tableid=$("#"+divid).find("table.my_tbl:eq("+i+")").attr("id");
       var _ht=document.getElementById(tableid);
      
       if(i==$("#"+divid).find("table.my_tbl").length-1){
           z1+=tableid;
        }else{
           z1+=tableid+",";
        }
        var zz=P_ExcelHTMLRE(_ht.innerHTML);
        if(i==$("#"+divid).find("table.my_tbl").length-1){
           z+="<table>"+zz+"</table>";
        }else{
           z+="<table>"+zz+"</table>"+"┊";
        }
         } 
     
          
             var _html=z;
     
             var _wtb="";
                var arr=new Array();
                arr=z1.split(',');
                for(var i=0;i<arr.length;i++){
          if(i==arr.length-1){
                      _wtb+="<table>"+P_ExcelHTMLRE(ReCreateTable(arr[i]))+"</table>";
                   }else{
                      _wtb+="<table>"+P_ExcelHTMLRE(ReCreateTable(arr[i]))+"</table>"+"┊";
                   }
                }
       return _wtb+"☆"+_html;
        }

    //将存在colspan与rowspan的table还原成完整的colspan=1 和 rowspan=1
            function ReCreateTable(_id){
          var _tab=$("#"+_id).html();
       var s=$("#"+_id).find("tr th").length;
                $("#"+_id+ " tr").each(function(trindex,tritem){
           //var j=0;
        
                    $(tritem).find("td").each(function(tdindex,tditem){
                          var rowspanCount=$(tditem).attr("rowspan");  
                          var colspanCount=$(tditem).attr("colspan");
         
                          var value=$(tditem).html();
           if($(tditem).find("input[type=text]").val()!=undefined){value=$(tditem).find("input[type='text']").val();$(tditem).html("").html(value);}
           if($(tditem).find("select").val()!=undefined){value=$(tditem).find("select").val();$(tditem).html("").html(value);}
                           var newtd="<td>"+value+"</td>";
                          if(rowspanCount>1){
                            var parent=$(tditem).parent("tr")[0];
                            if(colspanCount==undefined){colspanCount=1}
                            while(rowspanCount>1){
                               var index=$(tditem).index();
                    for(var i=0;i<colspanCount;i++){
                     $(parent).next().find("td:eq("+(index)+")").before(newtd);
                 }
                 parent=$(parent).next();
                 rowspanCount--;
                            }
                            $(tditem).attr("rowspan",1);
                          }
                          if(colspanCount>1){
                            while(colspanCount>1){
                                $(tditem).after(newtd);
                                colspanCount--;
                            }
                            $(tditem).attr("colspan",1);
                          }
                    });
        
        $(tritem).find("td:eq("+(s-1)+")").html("");//为什么没有更改嘞?
        $(tritem).find("th:eq("+(s-1)+")").html(""); 
                });
       var _newtab=$("#"+_id).html();
       $("#"+_id).html("");
       $("#"+_id).html(_tab);
       if(_id.indexOf("Table")!=-1){$("#"+_id).removeAttr("id");}//移除属性id
       return _newtab;
            }

    //针对于IE浏览器对table去掉双引号的问题用正则表达式加双引号

    function P_ExcelHTMLRE(_html){if($.browser.msie){var z=_html.match(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/g);if(z){for(var i=0;i<z.length;i++){var y,zSaved=z[i];z[i]=z[i].replace(/(<?\w+)|(<\/?\w+)\s/,function(a){return a.toLowerCase();});y=z[i].match(/\=\w*[^\x00-\xff]*/g);if(y){for(var j=0;j<y.length;j++){var reg1=/(\s+\w+)\s*=\s*([^<>"\s'\s]+)(?=[^<>]*>)/ig;var reg2=/"'([^'"]*)'"/ig;z[i]=z[i].replace(reg1,'$1="$2"').replace(reg2,'\"$1\"');}}
    _html=_html.replace(zSaved,z[i]);}}}
    return _html;}

    13.数据库

    create proc ogn_save_mz (   @ognaid varchar(20),   @ognflightinfo text,   @ognadderss varchar(100),   @ognoutinform text,   @ognmarks text,   @right char(1) ) as SET XACT_ABORT ON  --强制出错全部回滚 BEGIN TRAN --内容主体

    --出错处理  IF @@ERROR<>0  GOTO errhandle---->發生錯誤直接跳轉到後面,不發生錯誤提交      COMMIT TRAN        set @right=1         RETURN        errhandle:  IF @@ERROR<>0     BEGIN        ROLLBACK TRAN        set @right=0     END        RETURN GO

    14.
    使浏览器不会在本地缓存结果,response.setHeader("Cache-Control","no-cache");response.setHeader("pragma","no-cache");

    15.让文本框只能输入数字(包含小数)

    function chkPrice(obj) {
        obj.value = obj.value.replace(/[^\d.]/g, "");
    }
    //只能输入数字(包含小数)
    function chkPrice(obj) {
        obj.value = obj.value.replace(/[^\d.]/g, "");
        //必须保证第一位为数字而不是.
        obj.value = obj.value.replace(/^\./g, "");
        //保证只有出现一个.而没有多个.
        obj.value = obj.value.replace(/\.{2,}/g, ".");
        //保证.只出现一次,而不能出现两次以上
        obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    }

    function chkLast(obj) {
        // 如果出现非法字符就截取掉 
        if (obj.value.substr((obj.value.length - 1), 1) == '.')
            obj.value = obj.value.substr(0, (obj.value.length - 1));
    }
    用法:<input type='text' name='Quentity' id='Quentity' style='50px;' onkeyup=\"chkPrice(this);\" onblur=\"chkLast(this)\" onpaste=\"javascript: return false;\" value='" + count + "' />(onpaste=\"javascript: return false;\" 禁止使用粘贴,屏蔽右键)

  • 相关阅读:
    react路由组件&&非路由组件
    react函数式组件(非路由组件)实现路由跳转
    react使用antd组件递归实现左侧菜单导航树
    【LeetCode】65. Valid Number
    【LeetCode】66. Plus One (2 solutions)
    【LeetCode】68. Text Justification
    【LeetCode】69. Sqrt(x) (2 solutions)
    【LeetCode】72. Edit Distance
    【LeetCode】73. Set Matrix Zeroes (2 solutions)
    【LeetCode】76. Minimum Window Substring
  • 原文地址:https://www.cnblogs.com/ITanyx/p/2772982.html
Copyright © 2011-2022 走看看