重写与扩展 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)
- <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>shawl.qiu template</title>
- </head>
- <body>
- <%
- /*-----------------------------------------*/
- // rewrite method
- String.prototype.fontcolor=fStrColor;
- String.prototype.link=fStrLink;
- String.prototype.anchor=fStrAnchor;
- String.prototype.bold=fStrBold;
- String.prototype.fontsize=fStrFontsize;
- String.prototype.italics=fStrItalics;
- String.prototype.big=fStrBig;
- String.prototype.small=fStrSmall;
- String.prototype.strike=fStrStrike;
- String.prototype.sub=fStrSub;
- String.prototype.sup=fStrSup;
- /*-----------------------------------------*/
- // custom method;
- String.prototype.bgcolor=fStrBgcolor;
- String.prototype.trim=fTrim;
- String.prototype.ltrim=fLtrim;
- String.prototype.rtrim=fRtrim;
- String.prototype.reverse=fStrRevs;
- String.prototype.fixCase=fStrStdCase;
- /*-----------------------------------------*/
- //----------------------begin function fStrStdCase(str)----------------------//
- function fStrStdCase(str){
- if(this.constructor==String)str=this;
- if(!str||str.length==0)return false;
- return str=str.replace(/<[^>]+>/g, function(match){
- return match.replace(/^<[a-z0-9]+( |)|[a-z0-9]+>$|[a-z]+/=/gi,function(sub){
- return sub.toLowerCase();})
- }
- ) // shawl.qiu script
- }
- //----------------------end function fStrStdCase(str)------------------------//
- function fStrSup(sAdti){
- if(!sAdti) var sAdti='';
- return '<sup'+sAdti+'>'+this+'</sup>';
- } // shawl.qiu code
- function fStrSub(sAdti){
- if(!sAdti) var sAdti='';
- return '<sub'+sAdti+'>'+this+'</sub>';
- } // shawl.qiu code
- function fStrStrike(sAdti){
- if(!sAdti) var sAdti='';
- return '<strike'+sAdti+'>'+this+'</strike>';
- } // shawl.qiu code
- function fStrSmall(sAdti){
- if(!sAdti) var sAdti='';
- return '<small'+sAdti+'>'+this+'</small>';
- } // shawl.qiu code
- function fStrBig(sAdti){
- if(!sAdti) var sAdti='';
- return '<big'+sAdti+'>'+this+'</big>';
- } // shawl.qiu code
- function fStrItalics(sAdti){
- if(!sAdti) var sAdti='';
- return '<i'+sAdti+'>'+this+'</i>';
- } // shawl.qiu code
- function fStrFontsize(sSize, sAdti){
- if(!sSize) var sSize='+1';
- if(!sAdti) var sAdti='';
- return '<font size="'+sSize+'"'+sAdti+'>'+this+'</font>';
- } // shawl.qiu code
- function fStrBold(sAdti){
- if(!sAdti) var sAdti='';
- return '<b'+sAdti+'>'+this+'</b>';
- } // shawl.qiu code
- function fStrAnchor(sName, sAdti){
- if(!sName) var sName=this;
- if(!sAdti) var sAdti='';
- return '<a name="'+sName+'"'+sAdti+'>'+this+'</a>';
- } // shawl.qiu code
- function fStrLink(sLink, sAdti){
- if(!sLink) var sLink=this;
- if(!sAdti) var sAdti='';
- return '<a href="'+sLink+'"'+sAdti+'>'+this+'</a>';
- } // shawl.qiu code
- function fStrBgcolor(sColor){
- if(!sColor) var sColor='yellow';
- return '<span style="background-color:'+sColor+';">'+this+'</span>';
- } // shawl.qiu code
- function fStrColor(sColor){
- if(!sColor) var sColor='blue';
- return '<span style="color:'+sColor+';">'+this+'</span>';
- } // shawl.qiu code
- function fStrRevs(sStr){
- var str, temp='';
- if(this.constructor==String)str=this;
- if(sStr)str=sStr;
- while(str!=''){
- str=str.replace(/[/s/S]$/,function(){
- temp+=arguments[0];
- });
- }
- return temp;
- } // shawl.qiu code
- function fTrim(sStr){
- var o=sStr?o=sStr:this;
- if(!o||o=='')return '';
- return o.replace(/^/s+|/s+$/g,'');
- } // shawl.qiu code
- function fLtrim(sStr){
- var o=sStr?o=sStr:this;
- if(!o||o=='')return '';
- return o.replace(/^/s+/,'');
- } // shawl.qiu code
- function fRtrim(sStr){
- var o=sStr?o=sStr:this;
- if(!o||o=='')return '';
- return o.replace(//s+$/g,'');
- } // shawl.qiu code
- var str='abcde';
- var str_='<br/><FONT COLOR="red"><A HREF="#AA_13" HREF="#AA_13" HREF="#AA_13"><B>AA_13</B></A></FONT>/n/
- <br/><FONT COLOR="red"><A HREF="#ac_14"><B>ac_14</B></A></FONT>/n/
- <br/><FONT COLOR="red" COLOR="red" COLOR="red"><A HREF="#ac_15"><B>/n/
- lsdflADSDlsdflADSDlsdflADSDlsdflADSDlsdflADSD</B></A></FONT>/n/
- <BR/><FONT COLOR="red"><A HREF="#ac_16"><B>ac_16</B></A></FONT>/n/
- <BR /><FONT COLOR="red"><A HREF="#ac_17"><B>ac_17</B></A></FONT>/n/
- <br/><FONT COLOR="red"><A HREF="#ac_18"><B>ac_18</B></A></FONT>/n/
- <br/><FONT COLOR="red"><A HREF="#AA_13"><B>AA_13</B></A></FONT>/n/
- <br/><FONT COLOR="red"><A HREF="#ac_14"><B>ac_14</B></A></FONT>/n/
- <br/><FONT COLOR="red"><A HREF="#ac_1DD9"><B>aDDc_19</B></A></FONT>/n';
- Response.write(str.fontcolor('red')+'<br/>');
- Response.write(str.bgcolor('yellow')+'<br/>');
- Response.write(str.link('/asp', ' id="ok"')+'<br/>');
- Response.write(str.anchor('an')+'<br/>');
- Response.write(str.bold()+'<br/>');
- Response.write(str.fontsize()+'<br/>');
- Response.write(str.italics()+'<br/>');
- Response.write(str.big()+'<br/>');
- Response.write(str.small()+'<br/>');
- Response.write(str.strike()+'<br/>')
- Response.write(str.sub()+'<br/>');
- Response.write(str.sup()+'<br/>');
- Response.write(str_.fixCase());
- var str='abcdeasdfksldfj; asdfj j; ksdf ;jk dffg';
- Response.write(fStrRevs(str)+'<br/>');
- Response.write(str.reverse()+'<br/>');
- Response.write('abcdefghijk'.reverse()+'<br/>');
- var str=' aaa bbb '
- Response.write(str.trim()+' '+str.trim().length);
- Response.write(str.ltrim()+' '+str.ltrim().length);
- Response.write(str.rtrim()+' '+str.rtrim().length);
- %>
- </body>
- </html>