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 二维数组的实现与应用
Mar 16 Javascript
为Extjs加加速(javascript加速)
Aug 19 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
浅谈javascript中new操作符的原理
Jun 07 Javascript
喜大普奔!jQuery发布 3.0 最终版
Jun 12 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
Angularjs 1.3 中的$parse实例代码
Sep 14 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
React全家桶环境搭建过程详解
May 18 Javascript
小程序视频列表中视频的播放与停止的示例代码
Jul 20 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页面防重复提交方法总结
2013/11/25 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
利用python批量检查网站的可用性
2016/09/09 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
解决Python中回文数和质数的问题
2019/11/24 Python
python对XML文件的操作实现代码
2020/03/27 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
Python如何实现单例模式
2016/06/03 面试题
优秀技术工人先进材料
2014/02/17 职场文书
好的旅游活动方案
2014/08/19 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
村委会贫困证明范文
2014/09/21 职场文书
2014年就业工作总结
2014/11/26 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书