现在的位置: 首页 > 综合 > 正文

重写与扩展 JScript/Javascript String 对象的 HTML 函数 By shawl.qiu

2013年10月13日 ⁄ 综合 ⁄ 共 5817字 ⁄ 字号 评论关闭

重写与扩展 JScript/Javascript String 对象的 HTML 函数 By shawl.qiu

 主要就是重写与扩展 str.link(), str.anchor(), str.fontcolor() 等这些函数的格式和功能.
 
 由于鄙人经常使用这些函数, 而这些函数的标签名都由大写字母生成...这很不好办呀.
 而且功能又简陋, 很多时候不能达到我的要求...
 比如我要 str.link(...), 想加个 id or class 之类的属性都不行, 因此改写之,
 可以 str.link(sLink, ' id="xxx"'), 所有重写的函数都有一个可扩展属性, 生成格式的标签也都用小写字母生成...
 再附带添加了几个自定属性, 不过这不是办法, 使用自定属性重复使用程序是一个伤脑筋的问题. 因此方法什么的我大都归进自定义类里...不过几个常用的还是加进来了...
 
 shawl.qiu
 2006-12-24
 http://blog.csdn.net/btbtd
 
 prototype 源代码及 Jscript 调用演示(PS: 当然可以用于 客户端 javascript)

  1. <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Typecontent="text/html; charset=utf-8" />
  6. <title>shawl.qiu template</title>
  7. </head>
  8. <body>
  9. <%
  10.  /*-----------------------------------------*/
  11.  // rewrite method
  12.  String.prototype.fontcolor=fStrColor;
  13.  String.prototype.link=fStrLink;
  14.  String.prototype.anchor=fStrAnchor;
  15.  String.prototype.bold=fStrBold;
  16.  String.prototype.fontsize=fStrFontsize;
  17.  String.prototype.italics=fStrItalics;
  18.  String.prototype.big=fStrBig;
  19.  String.prototype.small=fStrSmall;
  20.  String.prototype.strike=fStrStrike;
  21.  String.prototype.sub=fStrSub;
  22.  String.prototype.sup=fStrSup;
  23.  /*-----------------------------------------*/
  24.  // custom method;
  25.  String.prototype.bgcolor=fStrBgcolor;
  26.  String.prototype.trim=fTrim;
  27.  String.prototype.ltrim=fLtrim;
  28.  String.prototype.rtrim=fRtrim; 
  29.  String.prototype.reverse=fStrRevs;
  30.  String.prototype.fixCase=fStrStdCase;
  31.  /*-----------------------------------------*/
  32.   //----------------------begin function fStrStdCase(str)----------------------//
  33.  function fStrStdCase(str){
  34.   if(this.constructor==String)str=this;
  35.   if(!str||str.length==0)return false;
  36.   return str=str.replace(/<[^>]+>/g, function(match){
  37.     return match.replace(/^<[a-z0-9]+( |)|[a-z0-9]+>$|[a-z]+/=/gi,function(sub){
  38.      return sub.toLowerCase();})
  39.    }
  40.   ) // shawl.qiu script
  41.  }
  42.  //----------------------end function fStrStdCase(str)------------------------//
  43.   function fStrSup(sAdti){
  44.   if(!sAdti) var sAdti='';
  45.   return '<sup'+sAdti+'>'+this+'</sup>';
  46.  } // shawl.qiu code
  47.   function fStrSub(sAdti){
  48.   if(!sAdti) var sAdti='';
  49.   return '<sub'+sAdti+'>'+this+'</sub>';
  50.  } // shawl.qiu code
  51.   function fStrStrike(sAdti){
  52.   if(!sAdti) var sAdti='';
  53.   return '<strike'+sAdti+'>'+this+'</strike>';
  54.  } // shawl.qiu code
  55.   function fStrSmall(sAdti){
  56.   if(!sAdti) var sAdti='';
  57.   return '<small'+sAdti+'>'+this+'</small>';
  58.  } // shawl.qiu code
  59.   function fStrBig(sAdti){
  60.   if(!sAdti) var sAdti='';
  61.   return '<big'+sAdti+'>'+this+'</big>';
  62.  } // shawl.qiu code
  63.   function fStrItalics(sAdti){
  64.   if(!sAdti) var sAdti='';
  65.   return '<i'+sAdti+'>'+this+'</i>';
  66.  } // shawl.qiu code
  67.   function fStrFontsize(sSize, sAdti){
  68.   if(!sSize) var sSize='+1';
  69.   if(!sAdti) var sAdti='';
  70.   return '<font size="'+sSize+'"'+sAdti+'>'+this+'</font>';
  71.  } // shawl.qiu code
  72.   function fStrBold(sAdti){
  73.   if(!sAdti) var sAdti='';
  74.   return '<b'+sAdti+'>'+this+'</b>';
  75.  } // shawl.qiu code
  76.   function fStrAnchor(sName, sAdti){
  77.   if(!sName) var sName=this;
  78.   if(!sAdti) var sAdti='';
  79.   return '<a name="'+sName+'"'+sAdti+'>'+this+'</a>';
  80.  } // shawl.qiu code
  81.   function fStrLink(sLink, sAdti){
  82.   if(!sLink) var sLink=this;
  83.   if(!sAdti) var sAdti='';
  84.   return '<a href="'+sLink+'"'+sAdti+'>'+this+'</a>';
  85.  } // shawl.qiu code
  86.   function fStrBgcolor(sColor){
  87.   if(!sColor) var sColor='yellow';
  88.   return '<span style="background-color:'+sColor+';">'+this+'</span>';
  89.  } // shawl.qiu code
  90.   function fStrColor(sColor){
  91.   if(!sColor) var sColor='blue';
  92.   return '<span style="color:'+sColor+';">'+this+'</span>';
  93.  } // shawl.qiu code
  94.   function fStrRevs(sStr){
  95.   var str, temp='';
  96.   if(this.constructor==String)str=this;
  97.   if(sStr)str=sStr;
  98.     while(str!=''){
  99.     str=str.replace(/[/s/S]$/,function(){
  100.      temp+=arguments[0];
  101.     });
  102.    }
  103.   return temp;
  104.  } // shawl.qiu code
  105.   function fTrim(sStr){
  106.   var o=sStr?o=sStr:this;
  107.   if(!o||o=='')return '';
  108.   return o.replace(/^/s+|/s+$/g,'');
  109.  } // shawl.qiu code
  110.   function fLtrim(sStr){
  111.   var o=sStr?o=sStr:this;
  112.   if(!o||o=='')return '';
  113.   return o.replace(/^/s+/,'');
  114.  } // shawl.qiu code
  115.   function fRtrim(sStr){
  116.   var o=sStr?o=sStr:this;
  117.   if(!o||o=='')return '';
  118.   return o.replace(//s+$/g,'');
  119.  } // shawl.qiu code
  120.    var str='abcde';
  121.  var str_='<br/><FONT COLOR="red"><A HREF="#AA_13" HREF="#AA_13" HREF="#AA_13"><B>AA_13</B></A></FONT>/n/
  122. <br/><FONT COLOR="red"><A HREF="#ac_14"><B>ac_14</B></A></FONT>/n/
  123. <br/><FONT COLOR="red" COLOR="red" COLOR="red"><A HREF="#ac_15"><B>/n/
  124. lsdflADSDlsdflADSDlsdflADSDlsdflADSDlsdflADSD</B></A></FONT>/n/
  125. <BR/><FONT COLOR="red"><A HREF="#ac_16"><B>ac_16</B></A></FONT>/n/
  126. <BR /><FONT COLOR="red"><A HREF="#ac_17"><B>ac_17</B></A></FONT>/n/
  127. <br/><FONT COLOR="red"><A HREF="#ac_18"><B>ac_18</B></A></FONT>/n/
  128. <br/><FONT COLOR="red"><A HREF="#AA_13"><B>AA_13</B></A></FONT>/n/
  129. <br/><FONT COLOR="red"><A HREF="#ac_14"><B>ac_14</B></A></FONT>/n/
  130. <br/><FONT COLOR="red"><A HREF="#ac_1DD9"><B>aDDc_19</B></A></FONT>/n';
  131.   Response.write(str.fontcolor('red')+'<br/>');
  132.  Response.write(str.bgcolor('yellow')+'<br/>');
  133.  Response.write(str.link('/asp', ' id="ok"')+'<br/>');
  134.  Response.write(str.anchor('an')+'<br/>');
  135.  Response.write(str.bold()+'<br/>');
  136.  Response.write(str.fontsize()+'<br/>');
  137.  Response.write(str.italics()+'<br/>');
  138.  Response.write(str.big()+'<br/>');
  139.  Response.write(str.small()+'<br/>');
  140.  Response.write(str.strike()+'<br/>')
  141.  Response.write(str.sub()+'<br/>');
  142.  Response.write(str.sup()+'<br/>');
  143.  Response.write(str_.fixCase());
  144.   var str='abcdeasdfksldfj; asdfj j; ksdf ;jk dffg';
  145.  Response.write(fStrRevs(str)+'<br/>');
  146.  Response.write(str.reverse()+'<br/>');
  147.  Response.write('abcdefghijk'.reverse()+'<br/>');
  148.   var str=' aaa bbb '
  149.   Response.write(str.trim()+' '+str.trim().length);
  150.  Response.write(str.ltrim()+' '+str.ltrim().length);
  151.  Response.write(str.rtrim()+' '+str.rtrim().length);
  152. %>
  153. </body>
  154. </html>

抱歉!评论已关闭.