全是正则表达式

测试地址:http://jsfiddle.net/dtdxrk/AX5wN/embedded/result/

1 <!DOCTYPE>
2 <HTMLxmlns="http://www.w3.org/1999/xhtml">
3 <HEAD>
4 <metacharset="utf-8" />
5 <TITLE>原生JavaScript对CSS进行格式化和压缩</TITLE>
6 <styletype="text/css">
7 *{margin:0;padding: }
8 body{font-family:'微软雅黑';}
9 h1{font-weight:normal;font-size:30px;border-bottom:1px solid #ccc;margin-bottom:20px;background:green;color:#fff;padding:10px;}
10 input{padding:5px 20px;}
11 </style>
12 <BODY>
13 <h1>原生JavaScript对CSS进行格式化和压缩</h1>
14 <inputtype="submit"value="+格式化"id="format" />
15 <inputtype="submit"value="-压缩化"id="compress" />
16 <textareaname=""rows=""cols=""style="width:100%;height:500px;"id="code">
17 input,button{18 height:20px;background-color: #ffffff;/*border:1px solid #333333;*/19 }20 </textarea>
21
22 <script>
23 (function(){24   var$= function(id){returndocument.getElementById(id)};25
26 $("format").onclick= function(){27 $("code").value=cssFormat($("code").value);28 };29
30 $("compress").onclick= function(){31 $("code").value=cssCompress($("code").value);32 };33
34   functioncssFormat(code){35 code=code.replace(/\n/ig,'');36 code=code.replace(/(\s){2,}/ig,'$1');37 code=code.replace(/\t/ig,'');38 code=code.replace(/\n\}/ig,'\}');39 code=code.replace(/\n\{\s*/ig,'\{');40 code=code.replace(/(\S)\s*\}/ig,'$1\}');41 code=code.replace(/(\S)\s*\{/ig,'$1\{');42 code=code.replace(/\{\s*(\S)/ig,'\{$1');43     returncode;44 }45
46   functioncssCompress(code){47 code=code.replace(/(\s){2,}/ig,'$1');48     //code = code.replace(/(\S)\s*\{/ig,'$1\n{'); //{的换行
49 code=code.replace(/\*\/(.[^\}\{]*)}/ig,'\*\/\n$1}');50 code=code.replace(/\/\*/ig,'\n\/\*');51 code=code.replace(/;\s*(\S)/ig,';\n\t$1');52 code=code.replace(/\}\s*(\S)/ig,'\}\n$1');53 code=code.replace(/\n\s*\}/ig,'\n\}');54 code=code.replace(/\{\s*(\S)/ig,'\{\n\t$1');55 code=code.replace(/(\S)\s*\*\//ig,'$1\*\/');56 code=code.replace(/\*\/\s*([^\}\{]\S)/ig,'\*\/\n\t$1');57 code=code.replace(/(\S)\}/ig,'$1\n\}');58 code=code.replace(/(\n){2,}/ig,'\n');59     returncode;60 }61
62 }());63
64 </script>
65
66 </BODY>
67 </HTML>

转载于:https://www.cnblogs.com/dtdxrk/archive/2013/01/16/2862835.html

原生JavaScript对CSS进行格式化和压缩相关推荐

  1. 原生Javascript 操作 css类名 - 踩坑篇

    文章目录 原生Javascript 操作 css类名 效果图示下: 案例 · 代码如下: 重要代码提示: 其他无关参考: 官方参考: 原生Javascript 操作 css类名 不建议用 .class ...

  2. animate用法 js原生_用 原生Javascript 创建带动画的固顶导航菜单

    当我们在网页中加入一个导航菜单的时候,需要考虑很多因素.如何确定它的位置?如何定义样式?还需要保证它具有良好的响应性.又或者你想为它添加一些炫酷的动画.这时你可能会对 jQuery 感兴趣,因为它会帮 ...

  3. 《原生javascript制作各种酷炫组件》专栏介绍

    本专栏主要是用原生javascript和css来编写一些炫酷的效果,用原生写是为了读者能把代码放到任何框架当中,代码没有做封装,瀑布式的代码理解起来容易,也容易修改以便达到自己想要的效果,适合初级学者 ...

  4. 实现CSS在线美化(格式化)、压缩、加密、解密、混淆工具-toolfk程序员工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  5. 打开html文件图片为什么没有_提高网站打开速度秘诀:压缩html,Javascript和CSS文件...

    微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号 ...

  6. javascript写css样式,原生javascript实现读写CSS样式的方法详解

    原生javascript实现读写CSS样式的方法详解 发布于 2017-05-24 15:05:31 | 120 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客户端脚本语言Jav ...

  7. 前端CSS代码格式化、JavaScript代码格式化函数

    CSS代码格式化 format = (s) =>s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1").replace(/;\s*;/g, &quo ...

  8. mysql插入ㄖ_原生JavaScript代码100个实例

    1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\x ...

  9. 推荐15个 JavaScript 和 CSS 库

    Tutorialzine的使命是让开发者与最新的Web开发发展同步.因此,我们每月都会精选一批最优秀的资源推荐给大家,相信这些资源你绝对值得拥有! ClarifyJS ClarifyJS可以让你串联一 ...

最新文章

  1. 清华校友斩获ACM博士论文奖!相关研究为自动驾驶新算法奠定基础
  2. 恩布企业IM,协同办公平台发布V1.24.2版本
  3. 计算机网络的运用在什么时候,离散时间排队系统及其在计算机网络中的应用
  4. Linux中的进程创建函数fork
  5. VMware linux虚拟机在线识别新添加磁盘
  6. U盘制作linux启动盘
  7. 根据guid读取Opportunity的技术实现
  8. DTC跨境电商白皮书
  9. 联想+android电视,联想Android4.0智能电视亮相:4月底国内上市
  10. Linux 中安装 Mysql
  11. C/C++常见问题(转)
  12. java linux 信号_Linux和Java的I/O模型
  13. linux网卡配置文件中2个ip,Linux Centos 7系统中如何一个网卡配置多个IP
  14. HoloToolkit/unity远程实时传输视频
  15. 频率与时间,电容,电感,电阻,计算机,分贝 单位换算
  16. 命名空间“xxx”中不存在类型或命名空间名“xxx”(是否缺少程序集引用)
  17. 口罩机远程监控运维解决方案
  18. 嵌入式烧写Linux内核,嵌入式linux 内核和根文件系统烧写方式简介
  19. 美国贝勒大学计算机科学专业怎么样,美国贝勒大学好吗
  20. webstorm 扩大内存

热门文章

  1. C语言 显示器键盘io
  2. Windows配置GitBook
  3. html5字体转换,图片转字符画html5版
  4. golang | 使用goroutine和channel实现一个计算int64随机数各位数和的程序。
  5. vSAN架构解析与6.7功能介绍
  6. VMware VSAN 高级参数介绍(测试用)
  7. 消息中间件学习总结(3)——RocketMQ之十分钟入门RocketMQ
  8. Mysql学习总结(43)——MySQL主从复制详细配置
  9. Android学习总结(2)——App客户端与服务器交互中的token
  10. python查找文件名_Python实现的根据文件名查找数据文件功能示例