这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了 js addDqmForPP 给标签内属性值加上双引号的函数, 需要的朋友可以参考下
实现代码一:
给标签内属性值加上双引号
- 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])"
- />
来源: http://www.phperz.com/article/17/0521/329212.html