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编程开发中的五个实用小技巧
Jul 22 Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
node.js中的fs.futimes方法使用说明
Dec 17 Javascript
JavaScript中Date.toSource()方法的使用教程
Jun 12 Javascript
javascript中tostring()和valueof()的用法及两者的区别
Nov 16 Javascript
简单总结JavaScript中的String字符串类型
May 26 Javascript
Bootstrap表单布局样式源代码
Jul 04 Javascript
js实现图片切换(动画版)
Dec 25 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
Jan 06 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详解ASCII码对照表与字符转换
2011/12/05 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
jQuery each()方法的使用方法
2010/03/18 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
Python中的高级函数map/reduce使用实例
2015/04/13 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
Python模块搜索路径代码详解
2018/01/29 Python
python列表的增删改查实例代码
2018/01/30 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
python剪切视频与合并视频的实现
2020/03/03 Python
Django在Model保存前记录日志实例
2020/05/14 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
python numpy库np.percentile用法说明
2020/06/08 Python
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
Ruby如何实现动态方法调用
2012/11/18 面试题
大学生简历中个人的自我评价
2013/10/06 职场文书
实习指导老师评语
2014/04/26 职场文书
秋天的雨教学反思
2014/04/27 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
Python之基础函数案例详解
2021/08/30 Python