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(笔记)
Oct 06 Javascript
JavaScript 常见对象类创建代码与优缺点分析
Dec 07 Javascript
基于jquery的复制网页内容到WORD的实现代码
Feb 16 Javascript
javascript版2048小游戏
Mar 18 Javascript
简单的jQuery banner图片轮播实例代码
Mar 04 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
详解webpack+express多页站点开发
Dec 22 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 Javascript
javascript实现京东快递单号的查询效果
Nov 30 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
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
3
2006/10/09 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
php模板引擎技术简单实现
2016/03/15 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
nodejs基础应用
2017/02/03 NodeJs
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
python版本的读写锁操作方法
2016/04/25 Python
Django中的forms组件实例详解
2018/11/08 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Django视图、传参和forms验证操作
2020/07/15 Python
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
城市规划毕业生求职信
2013/10/10 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
会议欢迎标语
2014/06/30 职场文书
食品安全承诺书范文
2014/08/29 职场文书
比赛主持人开场白
2015/05/29 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript