HTML中代码高亮显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
		.box{
			width: 600px;
			height: 600px;
		}
         pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; }
         .string { color: green; }        /*字符串的样式*/
         .number { color: darkorange; }    /*数字的样式*/
         .boolean { color: blue; }        /*布尔型数据的样式*/
         .null { color: magenta; }        /*null值的样式*/
         .key { color: red; }            /*key值的样式*/
     </style>
</head>
<body>
<div class="box">
    <pre id="result"></pre>
</div>
<script>
	 function syntaxHighlight(json) {
	      if (typeof json != 'string') {
	          json = JSON.stringify(json, undefined, 2);
	      }
	      json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
	      return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)/g,
	          function(match) {
	              var cls = 'number';
	              if (/^"/.test(match)) {
	                 if (/:$/.test(match)) {
	                     cls = 'key';
	                 } else {
	                     cls = 'string';
	                 }
	              } else if (/true|false/.test(match)) {
	                 cls = 'boolean';
	              } else if (/null/.test(match)) {
	                 cls = 'null';
	              }
	             return '<span class="' + cls + '">' + match + '</span>';
	         }
	     );
	 }
	 var dom = document.querySelector("#result")
	 dom.innerHTML = syntaxHighlight('{\n  "a": 1,\n  "b": 2,\n  "c": {\n    "d": "asdfsdf",\n    "aaa": true\n  },\n  "aa": [\n    {\n      "id": null\n    }\n  ]\n}')
</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值