用于CSS代码压缩与格式化的javascript函数代码

代码如下:

var lCSSCoder={
format : function(s){//格式化代码
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/\,[\s\.\#\d]*{/g,"{");
s=s.replace(/([^\s])\{([^\s])/g,"$1 {\n\t$2");
s=s.replace(/([^\s])\}([^\n]*)/g,"$1\n}\n$2");
s=s.replace(/([^\s]);([^\s\}])/g,"$1;\n\t$2");
s=s.replace(/;\s*;/g,";");//清除连续分号
return s;
},
pack :function(s){//压缩代码
s=s.replace(/\/\*(.|\n)*?\*\//g,"");//删除注释
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/\,[\s\.\#\d]*\{/g,"{");//容错处理
s=s.replace(/;\s*;/g,";");//清除连续分号
return s;
}
};

演示代码:

lCSSCoder: CSS代码压缩与格式化

body {text-align:center;}
textarea {border-width:1px;margin:0 5px;}

var lCSSCoder={
format : function(s){//格式化代码
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/;\s*;/g,";");//清除连续分号
s=s.replace(/\,[\s\.\#\d]*{/g,"{");
s=s.replace(/([^\s])\{([^\s])/g,"$1 {\n\t$2");
s=s.replace(/([^\s])\}([^\n]*)/g,"$1\n}\n$2");
s=s.replace(/([^\s]);([^\s\}])/g,"$1;\n\t$2");
return s;
},
pack :function(s){//压缩代码
s=s.replace(/\/\*(.|\n)*?\*\//g,"");//删除注释
s=s.replace(/\s*([\{\}\:\;\,])\s*/g,"$1");
s=s.replace(/\,[\s\.\#\d]*\{/g,"{");//容错处理
s=s.replace(/;\s*;/g,";");//清除连续分号
s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);//去掉首尾空白
return (s == null)?"": s[1];
}
};

原始代码:
/*PageHead*/
#PageHead {float:left;padding:3px 0;border-bottom:1px solid #b0bec7;margin-bottom:6px;}
#hCity li {float:left;padding:0 10px 0 0;}
#hCity li.fst {padding:0;}
#hRight {
float:right;padding:0 5px 0 20px;
background:url(img/ico_home.gif) no-repeat 0 50%;}
.SubPage #hRight { background-image:url(img/ico_favorite.gif);}

/*PageBody*/
#PageBody {float:left;padding:4px 0 0 0;}
.SCol {float:left;width:174px;}
.MCol {float:right;width:678px;overflow:hidden; }

#Logo {height:66px;margin:0;padding:0;}
/*MailLogin*/
#MailLogin {height:32px;}
#MailLogin li {float:left;}
#MailLogin li.txt {line-height:20px;}
#MailLogin li.inp {padding:0 2px;}
#MailLogin li.inp input {
margin:0;padding:0 4px;border:1px solid #7a9dbb;font:bold 12px/18px tahoma,Geneva,Arial,sans-serif;height:18px; }
#MailLogin li.inp input.notClicked {color:#ccc;font-weight:normal;}
#MailLogin li.sel {padding:1px 10px 0 0;}
#MailLogin li.btn {padding:1px 12px 0 5px;}

转换后:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

下面是我们的css格式化工具,喜欢的朋友也可以看看里面的代码
CSS代码格式化 css在线压缩工具

(0)

相关推荐

  • JavaScript 代码压缩工具小结

    UglifyJS UglifyJS是构建于nodeJS服务器端之上的一个代码压缩工具,目前jQuery使用它来压缩,压缩效果比较好. GitHub主页:http://github.com/mishoo/UglifyJS/ 在线使用:http://marijnhaverbeke.nl/uglifyjs 使用方法: 从http://nodejs.org下载nodejs,用到的是node.exe 再从UglifyJS的GitHub主页下载它的最新版本 复制node.exe到UglifyJS的bin目录

  • java使用gzip实现文件解压缩示例

    复制代码 代码如下: package com.cjonline.foundation.cpe.action; import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.

  • Java 图片压缩实现思路及代码

    Java图片压缩代码 复制代码 代码如下: package com.img; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import com.sun.image.codec.jpeg.JPEGCod

  • YUI Compressor压缩JavaScript原理及微优化

    最近写一个jQuery插件,在最后完成优化时,对比发现压缩后文件比较大,就思考那些是可以被修改和优化的,发现压缩原理也有很大的空间可以学习,通过这次对YUI Compressor压缩JavaScript深有体会,那些是可以被压缩的,特别是那些不能被压缩的,都需要很清楚,这样才能写出来的插件才能保持文件更小,代码更精巧,而且优化的过程中也会发现代码待改良的地方,对以后也有很大帮助.随便在网上找来一篇文章做记录了. YUI Compressor 压缩 JavaScript 的内容包括: 移除注释 移

  • 使用java基础类实现zip压缩和zip解压工具类分享

    使用java基础类写的一个简单的zip压缩解压工具类 复制代码 代码如下: package sun.net.helper; import java.io.*;import java.util.logging.Logger;import java.util.zip.*; public class ZipUtil {    private final static Logger logger = Logger.getLogger(ZipUtil.class.getName());    privat

  • java生成压缩文件示例代码

    代码: 复制代码 代码如下: import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream; import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream; /**  * @project: Test  * @author

  • Java 文件解压缩实现代码

    Java实现压缩文件的解压缩操作,缺点是压缩文件内不能含有文件名为中文的的文件,否则会出现如下错误: 复制代码 代码如下: Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(Unknown Source) at java.util.zip.ZipInputStream.readLOC(Unknown Source) at

  • java压缩多个文件并且返回流示例

    这个类可以压缩多个文件并且返回流,在程序中可以再操作返回的流做其它功能,比如验证MD5,下面看代码吧 复制代码 代码如下: /*** 方法描述:<b>测试类</b></br>*/public class TestFileStream{ //文件和压缩包存储的位置StringtempFilePath="C:/temp/"List<String>fileList=newArrayList<String>();fileList.ad

  • Microsoft Ajax Minifier 压缩javascript的方法

    但常用的命令是  ajaxmin -a -h inputfile.js -o outputfile.js(这种是高压缩方式) 也可以对JS代码进行分析 命令是 ajaxmin inputfile.js -a -w:3 更多的使用方法请参考 Help 说明. ajaxmin.exe 下载 Microsoft AJAX 库 (第六个预览版)Ajaxmin压缩多文件的时候: Ajaxmin -inputfile_1 -inputfile_2 -o -oututfile /Eo:utf-8 /Ei:ut

  • JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具

    昨天分享了http://jscompress.sinaapp.com/ 这个小工具后,发现大家还是很喜爱的. 因此今天我把它json化了.用json传输数据,也开放了api 本工具所有的功能实现都是由 http://jscompress.sinaapp.com/api 处理.(包括现在可以使用的这个在线压缩) 所有的数据交换均由 HTTP POST 输入处理后由 json 作为数据输出格式. API参数 : http://jscompress.sinaapp.com/api?get={type}

  • 一款js和css代码压缩工具[附JAVA环境配置方法]

    TBCompressor的安装很简单,点击install.cmd就可以了,安装后会在里的右键菜单里出现"Compress CSS or JS"选项,需要压缩文件时只需选取目标文件然后右键点选"Compress CSS or JS"即刻.压缩后的文件会自动重命名. 这里对jQuery1.3 Development版进行压缩测试,效果如下:可以看到效果还是非常不错的:) TBCompressor下载 需要注意的是使用TBCompressor必须要有JAVA环境的支持,需

  • JavaScript 在线压缩和格式化收藏

    以前在找到过压缩 Javascript 代码的程序,一直在用,感觉效果不错.http://javascriptcompressor.com/在线压缩 Javascript 源码只是把空格.换行.多余的注释等等清理掉,尤其选中 Shrink variables 时,会把长的变量名缩减成单个字母的变量名,压缩比通常能达到50%甚至更小.现在 AJAX 大行其道,JavaScript 文件越来越大,用此压缩应该能减轻不少流量负担.而且缩减变量名后,程序并没有加密,但会使程序变得很难看懂,一定程度上也能

  • java字符串压缩解压示例

    我测试的字符串是JQuery源码. 明文长度:78082压缩后:26566加密长度:54746再压缩:41647-----------------------------密文长度:41647解压缩:54746解密后:26566再解压:78082-----------------------------比对成功 Des需要Jar:sun.misc.BASE64Decoder.jar Test 复制代码 代码如下: public static void main(String[] args) thr

  • Java中如何调用cmd压缩文件

    今天在做一个java调用windows的压缩命令时遇到一奇怪问题代码如下: 复制代码 代码如下: String cmd ="C:/Program Files (x86)/WinRAR/rar.exe a c:/test.rar c:/test.log"; //System.out.println(cmd);Process proc = Runtime.getRuntime().exec(cmd); 以上代码在Xp,win7,windows server2003执行完全正常发现将代码转移

  • Java压缩文件ZIP实例代码

    提示:java.util.zipoutputstream java API压缩为zip文件 代码: 复制代码 代码如下: package com.gaoqi.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.util.zip.ZipOu

  • javascript实现的样式表(CSS) 格式整理与压缩

    样式表(CSS) 格式整理与压缩 html,body,form,fieldset,textarea { height:100%; margin:0; padding:0; border:0; font-size:10pt; background:#eee; } form { margin:0 1%; overflow:hidden; } legend { line-height:3em; font-weight:bolder; } button { float:left; margin:1% 1

  • 使用GruntJS链接与压缩多个JavaScript文件过程详解

    自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想把这些多个JS文件变成 一个JS文件发布出去,于是我的问题来啦,怎么把这些JS文件搞成一个啊,群里有个 朋友告诉我,GruntJS – JavaScript多文件编译,风格检查,链接与压缩神器.Google了一 把终于帮我完成这个任务,算是入门,分享一下过程. 一什么是GruntJS 不想翻译英文,自己看它的网站吧->http://gruntjs.com/

  • 使用UglifyJS合并/压缩JavaScript的方法

    build.js中的代码会去调用UglifyJS的接口函数以执行压缩任务. 1,去github下载最新的UglifyJS.两种方式下载,如果安装了git,进入git控制台使用如下命令 git clone git://github.com/mishoo/UglifyJS.git 或者使用http方式下载,点击zip下载.解压后其目录结构如下 2,新建一个项目(文件夹)myApp,将uglify-js.js和lib目录拷贝到自己的项目中.如下 3,在myApp中新建一个compress.js,内容如

随机推荐