js addDqmForPP给标签内属性值加上双引号的函数


Posted in Javascript onDecember 24, 2016

实现代码一:

给标签内属性值加上双引号

var addDqmForPP = function(shtml){
  return shtml.replace(/( [^\=]*\=)(\s?[^\"\s\>]*)/ig,function(a,b,c,d,e){return (c)?(new RegExp("<[^>]*"+c.replace(/(\^|\(|\)|\[|\]|\{|\}|\?|\-|\\|\/|\||\$)/g,'\\$1')+"[^>]*>","i").test(e))?b+'"'+c+'"':b+c:b});
};

完整测试代码

<textarea id="t" style="height:200px; width:300px;">
<UL class=list>
<LI class=feed_item><SPAN class=note>01/12/2008</SPAN>
<P><A title=GE公司推出“汪力和李邦”网络广告 href=http://www.genewscenter.com/{$content}\Detail.asp?ReleaseID=4886&NewsAreaID=2&changeCurrentLocale=5 _eventID="4">GE公司推出“汪力和李邦”网络广告</A></P></LI>
<LI class=feed_item><SPAN class=note>26/11/2008</SPAN>
<P><A title=GE石油天然气集团在中国创造新的快速安装记录 href="http://www.genewscenter.com/content/Detail.asp?ReleaseID=4879&NewsAreaID=2&changeCurrentLocale=5" _eventID="5">GE石油天然气集团在中国创造新的快速安装记录</A></P></LI></UL>
</textarea>

<script type="text/javascript">
var sa = '<a href=index.html>hello </a><input onlick=a(); typle="submit"/><input onlick=a(); value=ok typle="submit"/><span>a=8+4</span>';
var sb = document.getElementById('t').value;
var addDqmForPP = function(shtml){
  return shtml.replace(/( [^\=]*\=)(\s?[^\"\s\>]*)/ig,function(a,b,c,d,e){return (c)?(new RegExp("<[^>]*"+c.replace(/(\^|\(|\)|\[|\]|\{|\}|\?|\-|\\|\/|\||\$)/g,'\\$1')+"[^>]*>","i").test(e))?b+'"'+c+'"':b+c:b});
};
alert(addDqmForPP(sa));
alert(addDqmForPP(sb));
</script>

实现代码二:

给标签内属性值加上双引号标记变小写

核心代码

var partialXHTML = function (value) {
  return value.replace(/<(\/?[a-zA-Z]+\s*)((?:"[^"]*"|'[^']*'|(?!'|"|\/?>).)*)(\/?>)/g, function (l, $1, $2, $3) {
    return '<' + $1.toLowerCase() + $2.replace(/([^=]+)=(?:(")[^"]*"|(')[^']*'|((?:(?!\s|'|"|\/?>).)*))/g, function (l, $1, $2, $3, $4) {
      return ($2||$3) ? l : $1 + '="' + $4 + '"';
    }) + $3;
  });
};

完整代码

<textarea style="height:200px; width:300px;">
<UL class=list>
<LI class=feed_item><SPAN class=note>01/12/2008</SPAN>
<P><A title=GE公司推出“汪力和李邦”网络广告 href="http://www.genewscenter.com/content/Detail.asp?ReleaseID=4886&NewsAreaID=2&changeCurrentLocale=5" _eventID="4">GE公司推出“汪力和李邦”网络广告</A></P></LI>
<LI class=feed_item><SPAN class=note>26/11/2008</SPAN>
<P><A title=GE石油天然气集团在中国创造新的快速安装记录 href="http://www.genewscenter.com/content/Detail.asp?ReleaseID=4879&NewsAreaID=2&changeCurrentLocale=5" _eventID="5">GE石油天然气集团在中国创造新的快速安装记录</A></P></LI></UL>
</textarea>
<script type="text/javascript">
var partialXHTML = function (value) {
  return value.replace(/<(\/?[a-zA-Z]+\s*)((?:"[^"]*"|'[^']*'|(?!'|"|\/?>).)*)(\/?>)/g, function (l, $1, $2, $3) {
    return '<' + $1.toLowerCase() + $2.replace(/([^=]+)=(?:(")[^"]*"|(')[^']*'|((?:(?!\s|'|"|\/?>).)*))/g, function (l, $1, $2, $3, $4) {
      return ($2||$3) ? l : $1 + '="' + $4 + '"';
    }) + $3;
  });
};
var parse = function (t) {
  t.value = partialXHTML(t.value);
};
</script>
<input type="button" value="修正" onclick="parse(document.getElementsByTagName('textarea')[0])" />
Javascript 相关文章推荐
JavaScript 判断浏览器类型及版本
Feb 21 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
May 27 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
js实现字符串的16进制编码不加密
Apr 25 Javascript
AngularJS入门教程之学习环境搭建
Dec 06 Javascript
ECMAScript6新增值比较函数Object.is
Jun 12 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
May 15 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
Aug 26 Javascript
微信小程序拍照和摄像功能实现方法示例
Feb 01 Javascript
vue中多路由表头吸顶实现的几种布局方式
Apr 12 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 09 Javascript
Bootstrap php制作动态分页标签
Dec 23 #Javascript
前端JS面试中常见的算法问题总结
Dec 23 #Javascript
Bootstrap源码解读导航条(7)
Dec 23 #Javascript
livereload工具实现前端可视化开发【推荐】
Dec 23 #Javascript
浅谈jQuery操作类数组的工具方法
Dec 23 #Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
Dec 23 #Javascript
详解jQuery中的DOM操作
Dec 23 #Javascript
You might like
一周学会PHP(视频)Http下载
2006/12/12 PHP
php SQL防注入代码集合
2008/04/25 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python常用的爬虫技巧总结
2016/03/28 Python
简单谈谈Python中的闭包
2016/11/30 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python中必要的名词解释
2019/11/20 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
Merrell美国官网:美国登山运动鞋品牌
2018/02/07 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
成功的酒店创业计划书
2013/12/27 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
2014植树节活动总结
2014/03/11 职场文书
环境日宣传活动总结
2014/07/09 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
导游词之山东八大关
2019/12/18 职场文书