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 相关文章推荐
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
node.js中的http.createClient方法使用说明
Dec 15 Javascript
JavaScript中实现单体模式分享
Jan 29 Javascript
javascript实现数独解法
Mar 14 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 Javascript
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
微信小程序录音实现功能并上传(使用node解析接收)
Feb 26 Javascript
Node.js API详解之 readline模块用法详解
May 22 Javascript
JS跨浏览器解析XML应用过程详解
Oct 16 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函数scandir排除特定目录
2014/06/12 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
nginx 设置多个站跨域
2021/03/09 Servers
JavaScript toFixed() 方法
2010/04/15 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
python发送邮件接收邮件示例分享
2014/01/21 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python的变量与赋值详细分析
2017/11/08 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
后勤采购员岗位职责
2013/12/19 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
销售开票员岗位职责
2015/04/15 职场文书
校长一岗双责责任书
2015/05/09 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS