﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-moonboat-文章分类-js</title><link>http://www.blogjava.net/moonboat/category/21550.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 03 May 2007 15:35:18 GMT</lastBuildDate><pubDate>Thu, 03 May 2007 15:35:18 GMT</pubDate><ttl>60</ttl><item><title>js继承</title><link>http://www.blogjava.net/moonboat/articles/110488.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Fri, 13 Apr 2007 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110488.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110488.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110488.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110488.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110488.html</trackback:ping><description><![CDATA[<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;&nbsp;</p>
<p>function BaseClass()<br>{<br>BaseClass.prototype.HelloWorld = function()<br>{<br>&nbsp; alert("hello world from base");<br>}</p>
<p>BaseClass.prototype.GoodBye = function()<br>{<br>&nbsp; alert("good by from Base");<br>}</p>
<p>}</p>
<p>function ClassA()<br>{<br>ClassA.prototype.HelloWorld = function()<br>{<br>&nbsp; alert("hello world from ClassA");<br>}<br>}</p>
<p>ClassA.prototype = new BaseClass();</p>
<p>function ClassB()<br>{<br>alert("ClassB");<br>ClassB.prototype.HelloWorld = function()<br>{<br>&nbsp; alert("hello world from ClassB");<br>}<br>}<br>ClassB.prototype = new BaseClass();</p>
<p>var objB = new ClassB();<br>objB.HelloWorld();<br>objB.GoodBye();</p>
<p>var objA = new ClassA();<br>objA.HelloWorld();<br>objA.GoodBye();</p>
<p>&lt;/script&gt;</p>
<img src ="http://www.blogjava.net/moonboat/aggbug/110488.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-13 17:07 <a href="http://www.blogjava.net/moonboat/articles/110488.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript传值</title><link>http://www.blogjava.net/moonboat/articles/110154.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Thu, 12 Apr 2007 05:29:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110154.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110154.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110154.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110154.html</trackback:ping><description><![CDATA[<p>一，JavaScript<span id=highlight_tag style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; COLOR: blue; PADDING-TOP: 0px; BACKGROUND-COLOR: #ccffff; blue: ">传值</span>，主要用到opener.document&#8230;&#8230;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如:Trans_aa.htm,Trans_bb.htm</p>
<p>&lt;html&gt;</p>
<p>&lt;head&gt;<br>&lt;script language="JavaScript" type="text/JavaScript"&gt;<br>&lt;!--<br>//Made by 1st JavaScript Editor<br>//http://www.yaldex.com<br>//Come and get more (free) products</p>
<p>var neww;<br>&nbsp; function azxfds(axzfds,axcfds,acxfds)<br>&nbsp;&nbsp;&nbsp; {neww=window.open(axzfds,axcfds,acxfds);<br>neww.window.focus();<br>}<br>//--&gt;<br>&lt;/script&gt;</p>
<p>&nbsp;</p>
<p>&lt;title&gt;&lt;/title&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;<br>&lt;form&gt;<br>&lt;input type="text" id="aa"&gt;&lt;input type="button" onclick="javascript:azxfds('http://localhost/JavaScript/Trans_bb.htm','Yaldex','width=400,height=300')" value="调出bb.html"&gt;<br>&lt;/form&gt;<br>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p>&nbsp;</p>
<p>&lt;html&gt;</p>
<p>&lt;head&gt;</p>
<p>&lt;title&gt;&lt;/title&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;<br>&lt;script language="javascript" type="text/javascript"&gt;<br>function Valid()<br>{<br>var Strbb=document.getElementById("bb").value;<br>opener.document.getElementById("aa").value=Strbb;</p>
<p>}<br>&lt;/script&gt;<br>&lt;form&gt;<br>&lt;input type="text" id="bb"&gt; &lt;input type="button"&nbsp; value="确定" onclick="javascript:Valid();window.close();"&gt;<br>&lt;/form&gt;<br>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<img src ="http://www.blogjava.net/moonboat/aggbug/110154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-12 13:29 <a href="http://www.blogjava.net/moonboat/articles/110154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用js大全 </title><link>http://www.blogjava.net/moonboat/articles/110153.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Thu, 12 Apr 2007 05:28:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110153.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110153.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110153.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110153.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110153.html</trackback:ping><description><![CDATA[<font color=#1a8bc8>常用js大全</font> <br><br>
<div class=postText>
<p>1.document.write(""); 输出语句&nbsp; <br>2.JS中的注释为//&nbsp; <br>3.传统的HTML文档顺序是:document-&gt;html-&gt;(head,body)&nbsp; <br>4.一个浏览器窗口中的DOM顺序是:window-&gt;(navigator,screen,history,location,document)&nbsp; <br>5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或＆#118alue)&nbsp; <br>6.一个小写转大写的＆#106s: document.getElementById("output").＆#118alue = document.getElementById("input").＆#118alue.toUpperCase();&nbsp; <br>7.JS中的值类型:String,Number,Boolean,Null,Object,Function&nbsp; <br>8.JS中的字符型转换成数值型:parseInt(),parseFloat()&nbsp; <br>9.JS中的数字转换成字符型:(""+变量)&nbsp; <br>10.JS中的取字符串长度是:(length)&nbsp; <br>11.JS中的字符与字符相连接使用+号.&nbsp; <br>12.JS中的比较操作符有:==等于,!=不等于,&gt;,&gt;=,&lt;.&lt;=&nbsp; <br>13.JS中声明变量使用:var来进行声明&nbsp; <br>14.JS中的判断语句结构:if(condition){}else{}&nbsp; <br>15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}&nbsp; <br>16.循环中止的命令是:break&nbsp; <br>17.JS中的函数定义:function functionName([parameter],...){statement[s]}&nbsp; <br>18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.&nbsp; <br>19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self&nbsp; <br>20.状态栏的设置:window.status="字符";&nbsp; <br>21.弹出提示信息:window.alert("字符");&nbsp; <br>22.弹出确认框:window.confirm();&nbsp; <br>23.弹出输入提示框:window.prompt();&nbsp; <br>24.指定当前显示链接的位置:window.location.href="URL"&nbsp; <br>25.取出窗体中的所有表单的数量:document.forms.length&nbsp; <br>26.关闭文档的输出流:document.close();&nbsp; <br>27.字符串追加连接符:+=&nbsp; <br>28.创建一个文档元素:document.createElement(),document.createTextNode()&nbsp; <br>29.得到元素的方法:document.getElementById()&nbsp; <br>30.设置表单中所有文本型的成员的值为空:&nbsp; <br>var form = window.document.forms[0]&nbsp; <br>for (var i = 0; i&lt;form.elements.length;i++){&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; if (form.elements.type == "text"){&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form.elements.＆#118alue = "";&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp; <br>}&nbsp; <br>31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)&nbsp; <br>32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length&nbsp; <br>33.单选按钮组判断是否被选中也是用checked.&nbsp; <br>34.下拉列表框的值:document.forms[0].selectName.options[n].＆#118alue (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)&nbsp; <br>35.字符串的定义:var myString = new String("This is lightsword");&nbsp; <br>36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();&nbsp; <br>37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.&nbsp; <br>38.取字符串中指定位置的一个字符:StringA.charAt(9);&nbsp; <br>39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);&nbsp; <br>40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(＆#118alue1,＆#118alue2)返回两个数中的最在值,Math.pow(＆#118alue1,10)返回＆#118alue1的十次方,Math.round(＆#118alue1)四舍五入函数,Math.floor(Math.random()*(n+1))返回随机数&nbsp; <br>41.定义日期型变量:var today = new Date();&nbsp; <br>42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(＆#118alue)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds(val)设置秒&nbsp; [注意:此日期时间从0开始计]&nbsp; <br>43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName&nbsp; <br>44.parent代表父亲对象,top代表最顶端对象&nbsp; <br>45.打开子窗口的父窗口为:opener&nbsp; <br>46.表示当前所属的位置:this&nbsp; <br>47.当在超链接中调用JS函数时用:(＆#106avascript :)来开头后面加函数名&nbsp; <br>48.在老的浏览器中不执行此＆#106s:&lt;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--&gt;&nbsp; <br>49.引用一个文件式的＆#106s:&lt;script type="text/＆#106avascript" src="aaa.js"&gt;&lt;/script&gt;&nbsp; <br>50.指定在不支持脚本的浏览器显示的HTML:&lt;noscript&gt;&lt;/noscript&gt;&nbsp; <br>51.当超链和＆#111nCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:&lt;a href="a.html" ＆#111nclick="location.href=&#8217;b.html&#8217;;return false"&gt;dfsadf&lt;/a&gt;&nbsp; <br>52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError&nbsp; <br>53.JS中的换行:\n&nbsp; <br>54.窗口全屏大小:&lt;script&gt;function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;&lt;/script&gt;&nbsp; <br>55.JS中的all代表其下层的全部元素&nbsp; <br>56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1&nbsp; <br>57.innerHTML的值是表单元素的值:如&lt;p id="para"&gt;"how are &lt;em&gt;you&lt;/em&gt;"&lt;/p&gt;,则innerHTML的值就是:how are &lt;em&gt;you&lt;/em&gt;&nbsp; <br>58.innerTEXT的值和上面的一样,只不过不会把&lt;em&gt;这种标记显示出来.&nbsp; <br>59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.&nbsp; <br>60.isDisabled判断是否为禁止状态.disabled设置禁止状态&nbsp; <br>61.length取得长度,返回整型数值&nbsp; <br>62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc&nbsp; <br>63.window.focus()使当前的窗口在所有窗口之前.&nbsp; <br>64.blur()指失去焦点.与FOCUS()相反.&nbsp; <br>65.select()指元素为选中状态.&nbsp; <br>66.防止用户对文本框中输入文本:onfocus="this.blur()"&nbsp; <br>67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length&nbsp; <br>68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()&nbsp; <br>69.状态栏文字的设置:window.status=&#8217;文字&#8217;,默认的状态栏文字设置:window.defaultStatus = &#8217;文字.&#8217;;&nbsp; <br>70.添加到收藏夹:external.AddFavorite("<a href='http://www.dannyg.com";;,"jaskdlf/' href_cetemp='http://www.dannyg.com";;,"jaskdlf/'><font color=#1a8bc8>http://www.dannyg.com";;,"jaskdlf</font></a>");&nbsp; <br>71.JS中遇到脚本错误时不做任何操作:window.＆#111nerror = doNothing; 指定错误句柄的语法为:window.＆#111nerror = handleError;&nbsp; <br>72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.&nbsp; <br>73.JS中的self指的是当前的窗口&nbsp; <br>74.JS中状态栏显示内容:window.status="内容"&nbsp; <br>75.JS中的top指的是框架集中最顶层的框架&nbsp; <br>76.JS中关闭当前的窗口:window.close();&nbsp; <br>77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}&nbsp; <br>78.JS中的窗口重定向:window.navigate("<a href="http://www.sina.com.cn/"><font color=#1a8bc8>http://www.sina.com.cn</font></a>";;);&nbsp; <br>79.JS中的打印:window.print()&nbsp; <br>80.JS中的提示输入框:window.prompt("message","defaultReply");&nbsp; <br>81.JS中的窗口滚动条:window.scroll(x,y)&nbsp; <br>82.JS中的窗口滚动到位置:window.scrollby&nbsp; <br>83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout&nbsp; <br>84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);&nbsp; <br>85.JS中的退出之前使用的句柄:function verifyClose(){event.return＆#118alue="we really like you and hope you will stay longer.";}}&nbsp; window.onbeforeunload=verifyClose;&nbsp; <br>86.当窗体第一次调用时使用的文件句柄:onload()&nbsp; <br>87.当窗体关闭时调用的文件句柄:onunload()&nbsp; <br>88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)&nbsp; <br>89.window.location.reload()刷新当前页面.&nbsp; <br>90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)&nbsp; <br>91.document.write()不换行的输出,document.writeln()换行输出&nbsp; <br>92.document.body.noWrap=true;防止链接文字折行.&nbsp; <br>93.变量名.charAt(第几位),取该变量的第几位的字符.&nbsp; <br>94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.&nbsp; <br>95.字符串连接:string.concat(string2),或用+=进行连接&nbsp; <br>96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)&nbsp; <br>97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.&nbsp; <br>98.string.match(regExpression),判断字符是否匹配.&nbsp; <br>99.string.replace(regExpression,replaceString)替换现有字符串.&nbsp; <br>100.string.split(分隔符)返回一个数组存储值.&nbsp; <br>101.string.substr(start[,length])取从第几位到指定长度的字符串.&nbsp; <br>102.string.toLowerCase()使字符串全部变为小写.&nbsp; <br>103.string.toUpperCase()使全部字符变为大写.&nbsp; <br>104.parseInt(string[,radix(代表进制)])强制转换成整型.&nbsp; <br>105.parseFloat(string[,radix])强制转换成浮点型.&nbsp; <br>106.isNaN(变量):测试是否为数值型.&nbsp; <br>107.定义常量的关键字:const,定义变量的关键字:var&nbsp;&nbsp;<strong><br><br>javascript 常用验证</strong><br>一、验证类<br>1、数字验证内<br>1.1 整数<br>1.2 大于0的整数 （用于传来的ID的验证)<br>1.3 负整数的验证<br>1.4 整数不能大于iMax<br>1.5 整数不能小于iMin<br>2、时间类<br>2.1 短时间，形如 (13:04:06)<br>2.2 短日期，形如 (2003-12-05)<br>2.3 长时间，形如 (2003-12-05 13:04:06)<br>2.4 只有年和月。形如(2003-05,或者2003-5)<br>2.5 只有小时和分钟,形如(12:03)<br>3、表单类<br>3.1 所有的表单的值都不能为空<br>3.2 多行文本框的值不能为空。<br>3.3 多行文本框的值不能超过sMaxStrleng<br>3.4 多行文本框的值不能少于sMixStrleng<br>3.5 判断单选框是否选择。<br>3.6 判断复选框是否选择.<br>3.7 复选框的全选，多选，全不选，反选<br>3.8 文件上传过程中判断文件类型<br>4、字符类<br>4.1 判断字符全部由a-Z或者是A-Z的字字母组成<br>4.2 判断字符由字母和数字组成。<br>4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br>4.4 字符串替换函数.Replace();<br>5、浏览器类<br>5.1 判断浏览器的类型<br>5.2 判断ie的版本<br>5.3 判断客户端的分辨率</p>
<p>6、结合类<br>6.1 email的判断。<br>6.2 手机号码的验证<br>6.3 身份证的验证</p>
<p><br>二、功能类</p>
<p>1、时间与相关控件类<br>1.1 日历<br>1.2 时间控件<br>1.3 万年历<br>1.4 显示动态显示时钟效果（文本，如OA中时间）<br>1.5 显示动态显示时钟效果 (图像，像手表) <br>2、表单类<br>2.1 自动生成表单<br>2.2 动态添加，修改，删除下拉框中的元素<br>2.3 可以输入内容的下拉框<br>2.4 多行文本框中只能输入iMax文字。如果多输入了，自动减少到iMax个文字（多用于短信发送)</p>
<p>3、打印类<br>3.1 打印控件<br>4、事件类<br>4.1 屏蔽右键<br>4.2 屏蔽所有功能键<br>4.3 --&gt; 和&lt;-- F5 F11,F9,F1<br>4.4 屏蔽组合键ctrl+N<br>5、网页设计类<br>5.1 连续滚动的文字，图片（注意是连续的，两段文字和图片中没有空白出现）<br>5.2 html编辑控件类<br>5.3 颜色选取框控件<br>5.4 下拉菜单<br>5.5 两层或多层次的下拉菜单<br>5.6 仿IE菜单的按钮。（效果如rongshuxa.com的导航栏目)<br>5.7 状态栏，title栏的动态效果（例子很多，可以研究一下）<br>5.8 双击后，网页自动滚屏<br>6、树型结构。<br>6.1 asp+SQL版<br>6.2 asp+xml+sql版<br>6.3 java+sql或者java+sql+xml<br>7、无边框效果的制作<br>8、连动下拉框技术<br>9、文本排序<br>---------------------------------------------------------------------------------------</p>
<p>一、验证类<br>1、数字验证内<br>1.1 整数<br>/^(-|\+)?\d+$/.test(str)<br>1.2 大于0的整数 （用于传来的ID的验证)<br>/^\d+$/.test(str)<br>1.3 负整数的验证<br>/^-\d+$/.test(str)<br>2、时间类<br>2.1 短时间，形如 (13:04:06)<br>function isTime(str)<br>{<br>var a = str.match(/^(\d{1,2})(?(\d{1,2})\2(\d{1,2})$/);<br>if (a == null) {alert('输入的参数不是时间格式'); return false;}<br>if (a[1]&gt;24 || a[3]&gt;60 || a[4]&gt;60)<br>{<br>alert("时间格式不对");<br>return false<br>}<br>return true;<br>}<br>2.2 短日期，形如 (2003-12-05)<br>function strDateTime(str)<br>{<br>var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); <br>if(r==null)return false; <br>var d= new Date(r[1], r[3]-1, r[4]); <br>return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]);<br>}<br>2.3 长时间，形如 (2003-12-05 13:04:06)<br>function strDateTime(str)<br>{<br>var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2})\d{1,2})\d{1,2})$/; <br>var r = str.match(reg); <br>if(r==null)return false; <br>var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); <br>return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]&amp;&amp;d.getHours()==r[5]&amp;&amp;d.getMinutes()==r[6]&amp;&amp;d.getSeconds()==r[7]);<br>}<br>2.4 只有年和月。形如(2003-05,或者2003-5)<br>2.5 只有小时和分钟,形如(12:03)<br>3、表单类<br>3.1 所有的表单的值都不能为空</p>
<p>3.2 多行文本框的值不能为空。<br>3.3 多行文本框的值不能超过sMaxStrleng<br>3.4 多行文本框的值不能少于sMixStrleng<br>3.5 判断单选框是否选择。<br>3.6 判断复选框是否选择.<br>3.7 复选框的全选，多选，全不选，反选<br>3.8 文件上传过程中判断文件类型<br>4、字符类<br>4.1 判断字符全部由a-Z或者是A-Z的字字母组成</p>
<p>4.2 判断字符由字母和数字组成。</p>
<p>4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br>/^([a-zA-z_]{1})([\w]*)$/g.test(str)<br>4.4 字符串替换函数.Replace();<br>5、浏览器类<br>5.1 判断浏览器的类型<br>window.navigator.appName<br>5.2 判断ie的版本<br>window.navigator.appVersion<br>5.3 判断客户端的分辨率<br>window.screen.height; window.screen.width;</p>
<p>6、结合类<br>6.1 email的判断。<br>function ismail(mail)<br>{<br>return(new RegExp(/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));<br>}<br>6.2 手机号码的验证<br>6.3 身份证的验证<br>function isIdCardNo(num)<br>{<br>if (isNaN(num)) {alert("输入的不是数字！"); return false;}<br>var len = num.length, re; <br>if (len == 15)<br>re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);<br>else if (len == 18)<br>re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);<br>else {alert("输入的数字位数不对！"); return false;}<br>var a = num.match(re);<br>if (a != null)<br>{<br>if (len==15)<br>{<br>var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);<br>var B = D.getYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br>}<br>else<br>{<br>var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);<br>var B = D.getFullYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br>}<br>if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对！"); return false;}<br>}<br>return true;<br>}<br>-------------------------------------------------------------------------------------</p>
<p>3.7 复选框的全选，多选，全不选，反选</p>
<p>全选</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>全选</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>function checkAll(str)<br>{<br>var a = document.getElementsByName(str);<br>var n = a.length;<br>for (var i=0; ia[i].checked = window.event.srcElement.checked;<br>}<br>function checkItem(str)<br>{<br>var e = window.event.srcElement;<br>var all = eval("document.hrong."+ str);<br>if (e.checked)<br>{<br>var a = document.getElementsByName(e.name);<br>all.checked = true;<br>for (var i=0; i{<br>if (!a[i].checked){ all.checked = false; break;}<br>}<br>}<br>else all.checked = false;<br>}</p>
<p><br>3.8 文件上传过程中判断文件类型</p>
<p><br>-------------------------------------------------------------------------------------<br>１．身份证严格验证：</p>
<p>&nbsp;</p>
<p>２．验证ＩＰ地址</p>
<p>function isip(s){<br>var check=function(v){try{return (v&lt;=255 &amp;&amp; v&gt;=0)}catch(x){return false}};<br>var re=s.split(".")<br>return (re.length==4)?(check(re[0]) &amp;&amp; check(re[1]) &amp;&amp; check(re[2]) &amp;&amp; check(re[3])):false<br>}</p>
<p>var s="202.197.78.129";<br>alert(isip(s))</p>
<p>&nbsp;</p>
<p>３．加sp1后还能用的无边框窗口！！</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>/*--- Special Thanks For andot ---*/</p>
<p>/*<br>This following code are designed and writen by Windy_sk <br>You can use it freely, but u must held all the copyright items!<br>/</p>
<p>/- Thanks For andot Again ---*/</p>
<p>var CW_width = 400;<br>var CW_height = 300;<br>var CW_top = 100;<br>var CW_left = 100;<br>var CW_url = "/";<br>var New_CW = window.createPopup();<br>var CW_Body = New_CW.document.body;<br>var content = "";<br>var CSStext = "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";</p>
<p>//Build Window<br>include.startDownload(CW_url, function(source){content=source});</p>
<p>function insert_content(){<br>var temp = "";<br>CW_Body.style.overflow = "hidden";<br>CW_Body.style.backgroundColor = "white";<br>CW_Body.style.border = "solid black 1px";<br>content = content.replace(/]*)&gt;/g,"");<br>temp += "";<br>temp += "";<br>temp += "Chromeless Window For IE6 SP1";<br>temp += "";<br>temp += "?";<br>temp += "0";<br>temp += "1";<br>temp += "x";<br>temp += "";<br>temp += "";<br>temp += content;<br>temp += "</p>
<p>";<br>temp += "";<br>CW_Body.innerHTML = temp;<br>}</p>
<p>setTimeout("insert_content()",1000);</p>
<p>var if_max = true;<br>function show_CW(){<br>window.moveTo(10000, 10000);<br>if(if_max){<br>New_CW.show(CW_top, CW_left, CW_width, CW_height);<br>if(typeof(New_CW.document.all.include)!="undefined"){<br>New_CW.document.all.include.style.width = CW_width;<br>New_CW.document.all.Max.innerText = "1";<br>}</p>
<p>}else{<br>New_CW.show(0, 0, screen.width, screen.height);<br>New_CW.document.all.include.style.width = screen.width;<br>}<br>}</p>
<p>window.onfocus = show_CW;<br>window.onresize = show_CW;</p>
<p>// Move Window<br>var drag_x,drag_y,draging=false</p>
<p>function drag_move(e){<br>if (draging){<br>New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);<br>return false;<br>}<br>}</p>
<p>function drag_down(e){<br>if(e.button==2)return;<br>if(New_CW.document.body.offsetWidth==screen.width &amp;&amp; New_CW.document.body.offsetHeight==screen.height)return;<br>drag_x=e.clientX;<br>drag_y=e.clientY;<br>draging=true;<br>e.srcElement.setCapture();<br>}</p>
<p>function drag_up(e){<br>draging=false;<br>e.srcElement.releaseCapture();<br>if(New_CW.document.body.offsetWidth==screen.width &amp;&amp; New_CW.document.body.offsetHeight==screen.height) return;<br>CW_top = e.screenX-drag_x;<br>CW_left = e.screenY-drag_y;<br>}</p>
<p><br>&nbsp;<br>电话号码的验证</p>
<p>要求：<br>　　(1)电话号码由数字、"("、")"和"-"构成<br>　　(2)电话号码为3到8位<br>　　(3)如果电话号码中包含有区号，那么区号为三位或四位<br>　　(4)区号用"("、")"或"-"和其他部分隔开<br>　　(5)移动电话号码为11或12位，如果为12位,那么第一位为0<br>　　(6)11位移动电话号码的第一位和第二位为"13"<br>　　(7)12位移动电话号码的第二位和第三位为"13"<br>　　根据这几条规则，可以与出以下正则表达式：<br>　　(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)</p>
<p>&nbsp;</p>
<p>function PhoneCheck(s) {<br>var str=s;<br>var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/<br>alert(reg.test(str));<br>}</p>
<p>&nbsp;</p>
<p>--------------------------------------------------------------------------------------</p>
<p><br>---------------------------------------------------------------------------------</p>
<p>//检验法人代码<br>function isCorporationCode(s){<br>var patrn=/^(\d){15}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验登录名：只能输入5-20个以字母开头、可带数字、&#8220;_&#8221;、&#8220;.&#8221;的字串<br>function isRegisterUserName(s)<br>{<br>var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}<br>//校验用户姓名：只能输入1-30个以字母开头的字串<br>function isTrueName(s)<br>{<br>var patrn=/^[^`~!@#$%^&amp;*()+-=|\\\[\]\{\}:;\'\,.&lt;&gt;/? 0-9]{2,19}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验密码：只能输入6-15个字母、数字<br>function isPasswd(s)<br>{<br>var patrn=/^[a-zA-Z0-9]{6,15}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//检验体重<br>function isAvoirdupois(s)<br>{<br>var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br>var patrn2=/^[1-9]{1}$/;<br>var intPart=s.indexOf('.');<br>var decPart=s.lastIndexOf('.');<br>if (intPart==-1 &amp;&amp; patrn.exec(s) &amp;&amp; eval(s)&gt;=2 &amp;&amp; eval(s)&lt;=200) return true<br>if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false<br>if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false<br>if (eval(s)&lt;2 || eval(s)&gt;200) return false<br>return true<br>}</p>
<p>//校验普通电话、传真号码：可以&#8220;+&#8221;开头，除数字外，可含有&#8220;-&#8221;<br>function isTel(s)<br>{<br>var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验手机号码：必须以数字开头，除数字外，可含有&#8220;-&#8221;<br>function isMobile(s)<br>{<br>var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验地区代码<br>function isAreaCode(s)<br>{<br>var patrn=/^(\d){6}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验邮政编码<br>function isPostalCode(s)<br>{<br>var patrn=/^[1-9]{1}(\d){5}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验搜索关键字<br>function isSearch(s)<br>{<br>var patrn=/^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/? ]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验是否为ip地址<br>function isIP(s)<br>{<br>var patrn=/^[0-9.]{1,20}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//检验页码是否正确<br>function isPage(s)<br>{<br>var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//表单输入值错误提示<br>function vErr(o,s){<br>alert(s);<br>if (o) o.focus();<br>return false;<br>}</p>
<p>//判断单选<br>function chkRadio(o){<br>for (i=0;iif (o[i].checked) return true;<br>}<br>return false;<br>} <br>//====================================表单类================================<br>// 文件上传过程中判断文件类型<br>/*</p>
<p>/</p>
<p>//表单的值不能为空<br>function isNull(elem){<br>//var pattern=/^\s+|\s+$/;<br>if(elem.replace(/(^\s+|\s$)/g, "")==""){<br>return false;<br>}else{<br>return true;<br>}<br>}<br>//不能超过imax字符<br>function imax(elem){<br>if(elem.length&gt;imax){<br>return false;<br>}else{<br>return true;<br>}<br>}<br>//不能少于imix字符<br>function imix(elem){<br>if(elem.lengthreturn false;<br>}else{<br>return true;<br>}<br>}<br>//输入为中文判断<br>function isChinese(elem){<br>var pattern=/[^\x00-\xff]/g;<br>if(pattern.test(elem)){<br>//包含中文<br>return false;<br>}else{<br>//不包含中文<br>return true;<br>}<br>}</p>
<p>/ *********************************************************************************************************************</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>.cMenu {<br>FILTER: alpha(opacity=0);BACKGROUND-COLOR: #D6D3CE;BORDER-BOTTOM: #666666 2px solid; BORDER-LEFT: #E4E4E4 2px solid; BORDER-RIGHT: #666666 2px solid; BORDER-TOP: #E4E4E4 2px solid; COLOR: #000000; CURSOR: default; FONT-SIZE: 9pt; color:#000000;FONT-WEIGHT: normal; LINE-HEIGHT: 20px; POSITION: absolute; VISIBILITY: hidden; WIDTH: 110px<br>}<br>.menuitems {<br>font-size:9pt;<br>MARGIN: 2px;<br>PADDING-BOTTOM: 0px;<br>PADDING-LEFT: 15px;<br>PADDING-RIGHT: 3px;<br>PADDING-TOP: 0px;<br>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&lt;!--[if IE]&gt;<br>onmouseover=highlightie5()&gt;</p>
<p>电话号码的验证</p>
<p>要求：<br>　　(1)电话号码由数字、"("、")"和"-"构成<br>　　(2)电话号码为3到8位<br>　　(3)如果电话号码中包含有区号，那么区号为三位或四位<br>　　(4)区号用"("、")"或"-"和其他部分隔开<br>　　(5)移动电话号码为11或12位，如果为12位,那么第一位为0<br>　　(6)11位移动电话号码的第一位和第二位为"13"<br>　　(7)12位移动电话号码的第二位和第三位为"13"<br>　　根据这几条规则，可以与出以下正则表达式：<br>　　(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)</p>
<p><br>&lt;script language="javascript"&gt;<br>function PhoneCheck(s) {<br>var str=s;<br>var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/<br>alert(reg.test(str));<br>}<br>&lt;/script&gt;<br>&lt;input type=text name="iphone"&gt;<br>&lt;input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check"&gt;<br>----------------------------------------------------------------------------------------</p>
<p>&lt;%<br>'********************************************<br>'函数功能：正则表达式校验<br>'参数patrn：要校验的类型<br>' "User" - 用户名<br>' "Truename" - 英文姓名<br>' "Passwd" - 密码<br>' "Tel" - 电话/传真<br>' "Mobil" - 手机<br>' "Date" - 日期（格式：yyyy-mm-dd）<br>' "Email" - 电子邮件<br>' "Postalcode" - 邮政编码<br>' "Search" - 搜索关键字<br>' "Int" - 整数<br>'参数strng：要校验的字串<br>'返回值：校验结果，正确返回true，错误返回false<br>'********************************************<br>Function IsVerify(patrn,strng)<br>strng=Trim(strng)<br>Select Case patrn<br>Case "User" '用户名<br>patrn="^[a-z]{1}([a-z0-9]|[._]){2,19}$"<br>Case "Truename" '英文姓名<br>patrn="^[a-zA-Z]{1,30}$"<br>Case "Passwd" '密码<br>patrn="^(\w){6,20}$"<br>Case "Tel" '电话/传真<br>patrn="^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$"<br>Case "Mobil" '手机<br>patrn="^(\d)+[-]?(\d){6,12}$"<br>Case "Date" '日期（格式：yyyy-mm-dd）<br>patrn="^[12]{1}(\d){3}[-][01]?(\d){1}[-][0123]?(\d){1}$"<br>Case "Email" '电子邮件<br>patrn="^((\w)|[-]|[.])+@(((\w)|[-])+[.])+[a-z]{2,4}$"<br>Case "Postalcode" '邮政编码<br>patrn="^[a-z0-9 ]{3,12}$"<br>Case "Search" '搜索关键字<br>patrn="^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/?]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$"<br>Case "Int" '整数<br>patrn="^[1-9]{1}[0-9]{0,6}$"<br>Case "Array"<br>patrn="^[0-9]{1}([0-9]|[\,]){0,150}$"<br>End Select<br>Dim regEx<br>Dim Match<br>Set regEx = New RegExp<br>regEx.Pattern = patrn<br>regEx.IgnoreCase = True<br>regEx.Global = True<br>Matches = regEx.test(strng)<br>IsVerify = Matches<br>Set regEx = Nothing<br>End Function</p>
<p>'********************************************<br>'函数功能：对输入框的特殊字串进行过滤保存<br>'参数strPass：过滤前的字符串<br>'返回值：过滤后的字符串<br>'********************************************<br>Function SQLencode(byVal strPass)<br>strPass = Replace(strPass, "&amp;", "&amp;")<br>strPass = Replace(strPass, "&lt;", "&lt;")<br>strPass = Replace(strPass, "&gt;", "&gt;")<br>strPass = Replace(strPass, """", """)<br>strPass = Replace(strPass, "'", "'")<br>strPass = Replace(strPass, " ", "　")<br>strPass = Replace(strPass,chr(13)&amp;chr(10),"&lt;br/&gt;")<br>SQLencode = strPass<br>End Function</p>
<p>'********************************************<br>'函数功能：对SQLencode函数过滤后的字符串进行还原<br>'参数strPass：经过过滤后的字符串<br>'返回值：还原的过滤前的字符串<br>'********************************************<br>Function SQLdecode(byVal strPass)<br>If Not isNull(strPass) Then<br>strPass = Replace(strPass, "&lt;", "&lt;")<br>strPass = Replace(strPass, "&gt;", "&gt;")<br>strPass = Replace(strPass, ""","""" )<br>strPass = Replace(strPass, "'","'" )<br>strPass = Replace(strPass,"&lt;br/&gt;",chr(13)&amp;chr(10))<br>End If<br>SQLdecode = strPass<br>End Function</p>
<p>'********************************************<br>'函数功能：生成随机密码（字符为数字与大小写字母集合）<br>'参数length：密码长度<br>'返回值：随机密码<br>'********************************************<br>Function random(length)<br>Dim n,str<br>rnds=""<br>Randomize<br>For i=1 To length<br>n=Int(75*Rnd+48)<br>If (n&gt;57 and n&lt;65) Or (n&gt;90 and n&lt;97) Then<br>i=i-1<br>Else<br>rnds=rnds&amp;Chr(n)<br>End If<br>Next<br>random=rnds<br>End Function</p>
<p>'********************************************<br>'函数功能：对密码进行加密/解密（最大长度为15位）<br>'********************************************<br>Function Encrypt(preString)<br>Dim pwds,s<br>pwds=""<br>s=Left(preString,15)<br>For i=1 To Len(s)<br>seed=170-Asc(Mid(s,i,1))-i<br>pwds=pwds &amp; Chr(seed)<br>Next<br>Encrypt=pwds<br>End Function</p>
<p>'********************************************<br>'函数功能：格式化当前时间字串<br>'参数：无<br>'返回值：返回当前时间的纯数字字符串方式的表示（例如：当前时间2001-10-3 2:34:6，返回字符串"20011003023406"）<br>'********************************************<br>Function TheDate()<br>y=year(date())<br>m=month(date())<br>d=day(date())<br>h=Hour(time())<br>n=Minute(time())<br>s=Second(time())<br>If Len(m)=1 Then m="0"&amp;m<br>If Len(d)=1 Then d="0"&amp;d<br>If Len(h)=1 Then h="0"&amp;h<br>If Len(n)=1 Then n="0"&amp;n<br>If Len(s)=1 Then s="0"&amp;s<br>thedate=y&amp;m&amp;d&amp;h&amp;n&amp;s<br>End Function</p>
<p>'********************************************<br>'函数功能：返回字符串的长度<br>'参数：字符串<br>'返回值：字符串长度<br>'********************************************<br>Function strLen(str)<br>dim p_len<br>p_len=0<br>strlen=0<br>if trim(str)&lt;&gt;"" then<br>p_len=len(trim(str))<br>for xx=1 to p_len<br>if asc(mid(str,xx,1))&lt;0 then<br>strlen=int(strlen) + 2<br>else<br>strlen=int(strlen) + 1<br>end if<br>next<br>end if<br>End Function</p>
<p>'********************************************<br>'函数功能：发送邮件通知<br>'参数：字符串<br>'返回值：成功/失败<br>'********************************************<br>Function SendMail(ToAddress, Subject, Body)<br>On Error Resume Next<br>Set objMail = Server.CreateObject("JMail.Message")<br>objMail.From = ADR_Email<br>objMail.FromName = "ADR管理中心"<br>objMail.Subject = Subject<br>objMail.AddRecipient ToAddress<br>objMail.Body = Body<br>If objMail.Send("") Then<br>SendMail = True<br>Else<br>SendMail = False<br>End If<br>If Err.Number&lt;&gt; 0 Then SendMail = False<br>Set objMail = Nothing<br>On Error Goto 0<br>End Function<br>%&gt;<br>-----------------------------------------------------------------------------------</p>
<p>//检验法人代码<br>function isCorporationCode(s){<br>var patrn=/^(\d){15}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验登录名：只能输入5-20个以字母开头、可带数字、&#8220;_&#8221;、&#8220;.&#8221;的字串<br>function isRegisterUserName(s)<br>{<br>var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}<br>//校验用户姓名：只能输入1-30个以字母开头的字串<br>function isTrueName(s)<br>{<br>var patrn=/^[^`~!@#$%^&amp;*()+-=|\\\[\]\{\}:;\'\,.&lt;&gt;/? 0-9]{2,19}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验密码：只能输入6-15个字母、数字<br>function isPasswd(s)<br>{<br>var patrn=/^[a-zA-Z0-9]{6,15}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//检验体重<br>function isAvoirdupois(s)<br>{<br>var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br>var patrn2=/^[1-9]{1}$/;<br>var intPart=s.indexOf('.');<br>var decPart=s.lastIndexOf('.');<br>if (intPart==-1 &amp;&amp; patrn.exec(s) &amp;&amp; eval(s)&gt;=2 &amp;&amp; eval(s)&lt;=200) return true<br>if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false<br>if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false<br>if (eval(s)&lt;2 || eval(s)&gt;200) return false<br>return true<br>}</p>
<p>//校验普通电话、传真号码：可以&#8220;+&#8221;开头，除数字外，可含有&#8220;-&#8221;<br>function isTel(s)<br>{<br>var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验手机号码：必须以数字开头，除数字外，可含有&#8220;-&#8221;<br>function isMobile(s)<br>{<br>var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验地区代码<br>function isAreaCode(s)<br>{<br>var patrn=/^(\d){6}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验邮政编码<br>function isPostalCode(s)<br>{<br>var patrn=/^[1-9]{1}(\d){5}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验搜索关键字<br>function isSearch(s)<br>{<br>var patrn=/^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/? ]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//校验是否为ip地址<br>function isIP(s)<br>{<br>var patrn=/^[0-9.]{1,20}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//检验页码是否正确<br>function isPage(s)<br>{<br>var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br>if (!patrn.exec(s)) return false<br>return true<br>}</p>
<p>//表单输入值错误提示<br>function vErr(o,s){<br>alert(s);<br>if (o) o.focus();<br>return false;<br>}</p>
<p>//判断单选<br>function chkRadio(o){<br>for (i=0;i&lt;o.length;i++){<br>if (o[i].checked) return true;<br>}<br>return false;<br>} </p>
</div>
<img src ="http://www.blogjava.net/moonboat/aggbug/110153.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-12 13:28 <a href="http://www.blogjava.net/moonboat/articles/110153.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>b/s开发中经常用到的javaScript技术(二)</title><link>http://www.blogjava.net/moonboat/articles/110151.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Thu, 12 Apr 2007 05:24:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110151.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110151.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110151.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110151.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110151.html</trackback:ping><description><![CDATA[<table cellSpacing=1 cellPadding=4 width="100%" border=0>
    <tbody>
        <tr>
            <td vAlign=top>
            <div class=subhead><strong>在b/s开发中经常用到的javaScript技术</strong></div>
            </td>
        </tr>
        <tr>
            <td class=content vAlign=top>
            <p>一、验证类<br>1、数字验证内<br>&nbsp; 1.1 整数<br>&nbsp; 1.2 大于0的整数 （用于传来的ID的验证)<br>&nbsp; 1.3 负整数的验证<br>&nbsp; 1.4 整数不能大于iMax<br>&nbsp; 1.5 整数不能小于iMin<br>2、时间类<br>&nbsp; 2.1 短时间，形如 (13:04:06)<br>&nbsp; 2.2 短日期，形如 (2003-12-05)<br>&nbsp; 2.3 长时间，形如 (2003-12-05 13:04:06)<br>&nbsp; 2.4 只有年和月。形如(2003-05,或者2003-5)<br>&nbsp; 2.5 只有小时和分钟,形如(12:03)<br>3、表单类<br>&nbsp; 3.1 所有的表单的值都不能为空<br>&nbsp; 3.2 多行文本框的值不能为空。<br>&nbsp; 3.3 多行文本框的值不能超过sMaxStrleng<br>&nbsp; 3.4 多行文本框的值不能少于sMixStrleng<br>&nbsp; 3.5 判断单选框是否选择。<br>&nbsp; 3.6 判断复选框是否选择.<br>&nbsp; 3.7 复选框的全选，多选，全不选，反选<br>&nbsp; 3.8 文件上传过程中判断文件类型<br>4、字符类<br>&nbsp; 4.1 判断字符全部由a-Z或者是A-Z的字字母组成<br>&nbsp; 4.2 判断字符由字母和数字组成。<br>&nbsp; 4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br>&nbsp; 4.4 字符串替换函数.Replace();<br>5、浏览器类<br>&nbsp; 5.1 判断浏览器的类型<br>&nbsp; 5.2 判断ie的版本<br>&nbsp; 5.3 判断客户端的分辨率<br>&nbsp; <br>6、结合类<br>&nbsp; 6.1 email的判断。<br>&nbsp; 6.2 手机号码的验证<br>&nbsp; 6.3 身份证的验证<br>&nbsp; </p>
            <p>二、功能类</p>
            <p>1、时间与相关控件类<br>&nbsp; 1.1 日历<br>&nbsp; 1.2 时间控件<br>&nbsp; 1.3 万年历<br>&nbsp; 1.4 显示动态显示时钟效果（文本，如OA中时间）<br>&nbsp; 1.5 显示动态显示时钟效果 (图像，像手表) <br>2、表单类<br>&nbsp; 2.1 自动生成表单<br>&nbsp; 2.2 动态添加，修改，删除下拉框中的元素<br>&nbsp; 2.3 可以输入内容的下拉框<br>&nbsp; 2.4 多行文本框中只能输入iMax文字。如果多输入了，自动减少到iMax个文字（多用于短信发送)<br>&nbsp; <br>3、打印类<br>&nbsp; 3.1 打印控件<br>4、事件类<br>&nbsp; 4.1 屏蔽右键<br>&nbsp; 4.2 屏蔽所有功能键<br>&nbsp; 4.3 --&gt; 和&lt;-- F5 F11,F9,F1<br>&nbsp; 4.4 屏蔽组合键ctrl+N<br>5、网页设计类<br>&nbsp; 5.1 连续滚动的文字，图片（注意是连续的，两段文字和图片中没有空白出现）<br>&nbsp; 5.2 html编辑控件类<br>&nbsp; 5.3 颜色选取框控件<br>&nbsp; 5.4 下拉菜单<br>&nbsp; 5.5 两层或多层次的下拉菜单<br>&nbsp; 5.6 仿IE菜单的按钮。（效果如rongshuxa.com的导航栏目)<br>&nbsp; 5.7 状态栏，title栏的动态效果（例子很多，可以研究一下）<br>&nbsp; 5.8 双击后，网页自动滚屏<br>6、树型结构。<br>&nbsp; 6.1 asp+SQL版<br>&nbsp; 6.2 asp+xml+sql版<br>&nbsp; 6.3 java+sql或者java+sql+xml<br>7、无边框效果的制作<br>8、连动下拉框技术<br>9、文本排序<br></p>
            <p>一、验证类<br>1、数字验证内<br>&nbsp; 1.1 整数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /^(-|\+)?\d+$/.test(str)<br>&nbsp; 1.2 大于0的整数 （用于传来的ID的验证)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /^\d+$/.test(str)<br>&nbsp; 1.3 负整数的验证<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /^-\d+$/.test(str)<br>2、时间类<br>&nbsp; 2.1 短时间，形如 (13:04:06)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function isTime(str)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a == null) {alert('输入的参数不是时间格式'); return false;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a[1]&gt;24 || a[3]&gt;60 || a[4]&gt;60)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("时间格式不对");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp; 2.2 短日期，形如 (2003-12-05)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function strDateTime(str)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(r==null)return false; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var d= new Date(r[1], r[3]-1, r[4]); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp; 2.3 长时间，形如 (2003-12-05 13:04:06)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function strDateTime(str)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var r = str.match(reg); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(r==null)return false; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]&amp;&amp;d.getHours()==r[5]&amp;&amp;d.getMinutes()==r[6]&amp;&amp;d.getSeconds()==r[7]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp; 2.4 只有年和月。形如(2003-05,或者2003-5)<br>&nbsp; 2.5 只有小时和分钟,形如(12:03)<br>3、表单类<br>&nbsp; 3.1 所有的表单的值都不能为空<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能为空!')"&gt;<br>&nbsp; 3.2 多行文本框的值不能为空。<br>&nbsp; 3.3 多行文本框的值不能超过sMaxStrleng<br>&nbsp; 3.4 多行文本框的值不能少于sMixStrleng<br>&nbsp; 3.5 判断单选框是否选择。<br>&nbsp; 3.6 判断复选框是否选择.<br>&nbsp; 3.7 复选框的全选，多选，全不选，反选<br>&nbsp; 3.8 文件上传过程中判断文件类型<br>4、字符类<br>&nbsp; 4.1 判断字符全部由a-Z或者是A-Z的字字母组成<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')"&gt;<br>&nbsp; 4.2 判断字符由字母和数字组成。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')"&gt;<br>&nbsp; 4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /^([a-zA-z_]{1})([\w]*)$/g.test(str)<br>&nbsp; 4.4 字符串替换函数.Replace();<br>5、浏览器类<br>&nbsp; 5.1 判断浏览器的类型<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.navigator.appName<br>&nbsp; 5.2 判断ie的版本<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.navigator.appVersion<br>&nbsp; 5.3 判断客户端的分辨率<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.screen.height;&nbsp; window.screen.width;<br>&nbsp; <br>6、结合类<br>&nbsp; 6.1 email的判断。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function ismail(mail)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp; 6.2 手机号码的验证<br>&nbsp; 6.3 身份证的验证<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function isIdCardNo(num)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (isNaN(num)) {alert("输入的不是数字！"); return false;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var len = num.length, re; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (len == 15)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (len == 18)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {alert("输入的数字位数不对！"); return false;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var a = num.match(re);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a != null)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (len==15)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var B = D.getYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var B = D.getFullYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对！"); return false;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
            <p>3.7 复选框的全选，多选，全不选，反选<br>&lt;form name=hrong&gt;<br>&lt;input type=checkbox name=All onclick="checkAll('mm')"&gt;全选&lt;br/&gt;<br>&lt;input type=checkbox name=mm onclick="checkItem('All')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm onclick="checkItem('All')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm onclick="checkItem('All')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm onclick="checkItem('All')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm onclick="checkItem('All')"&gt;&lt;br/&gt;&lt;br/&gt;</p>
            <p><br>&lt;input type=checkbox name=All2 onclick="checkAll('mm2')"&gt;全选&lt;br/&gt;<br>&lt;input type=checkbox name=mm2 onclick="checkItem('All2')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm2 onclick="checkItem('All2')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm2 onclick="checkItem('All2')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm2 onclick="checkItem('All2')"&gt;&lt;br/&gt;<br>&lt;input type=checkbox name=mm2 onclick="checkItem('All2')"&gt;&lt;br/&gt;</p>
            <p>&lt;/form&gt;</p>
            <p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br>function checkAll(str)<br>{<br>&nbsp; var a = document.getElementsByName(str);<br>&nbsp; var n = a.length;<br>&nbsp; for (var i=0; i&lt;n; i++)<br>&nbsp; a[i].checked = window.event.srcElement.checked;<br>}<br>function checkItem(str)<br>{<br>&nbsp; var e = window.event.srcElement;<br>&nbsp; var all = eval("document.hrong."+ str);<br>&nbsp; if (e.checked)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; var a = document.getElementsByName(e.name);<br>&nbsp;&nbsp;&nbsp; all.checked = true;<br>&nbsp;&nbsp;&nbsp; for (var i=0; i&lt;a.length; i++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!a[i].checked){ all.checked = false; break;}<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br>&nbsp; else all.checked = false;<br>}<br>&lt;/SCRIPT&gt;</p>
            <p>3.8 文件上传过程中判断文件类型<br>&lt;input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])"&gt;</p>
            <p>画图:<br>&lt;OBJECT <br>id=S <br>style="LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px" <br>height=240 <br>width=392 <br>classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6"&gt;<br>&lt;/OBJECT&gt;<br>&lt;SCRIPT&gt;<br>S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);<br>S.DrawingSurface.ArcRadians(30,0,0,30,50,60);<br>S.DrawingSurface.Line(10,10,100,100);<br>&lt;/SCRIPT&gt;</p>
            <p>写注册表：<br>&lt;SCRIPT&gt;<br>var WshShell = WScript.CreateObject("WScript.Shell");<br>WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");<br>WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");<br>var bKey =&nbsp;&nbsp;&nbsp; WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");<br>WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));<br>WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");<br>WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");<br>WshShell.RegDelete ("HKCU\\Software\\ACME\\");<br>&lt;/SCRIPT&gt;</p>
            <p>TABLAE相关(客户端动态增加行列）<br>&lt;HTML&gt;<br>&lt;SCRIPT LANGUAGE="JScript"&gt;<br>function numberCells() {<br>&nbsp;&nbsp;&nbsp; var count=0;<br>&nbsp;&nbsp;&nbsp; for (i=0; i &lt; document.all.mytable.rows.length; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (j=0; j &lt; document.all.mytable.rows(i).cells.length; j++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.all.mytable.rows(i).cells(j).innerText = count;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}<br>&lt;/SCRIPT&gt;<br>&lt;BODY onload="numberCells()"&gt;<br>&lt;TABLE id=mytable border=1&gt;<br>&lt;TR&gt;&lt;TH&gt;&amp;nbsp;&lt;/TH&gt;&lt;TH&gt;&amp;nbsp;&lt;/TH&gt;&lt;TH&gt;&amp;nbsp;&lt;/TH&gt;&lt;TH&gt;&amp;nbsp;&lt;/TH&gt;&lt;/TR&gt;<br>&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;<br>&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;<br>&lt;/TABLE&gt;<br>&lt;/BODY&gt;<br>&lt;/HTML&gt; </p>
            <p>１．身份证严格验证：</p>
            <p>&lt;script&gt;<br>var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}<br>&nbsp; <br>function cidInfo(sId){<br>&nbsp;var iSum=0<br>&nbsp;var info=""<br>&nbsp;if(!/^\d{17}(\d|x)$/i.test(sId))return false;<br>&nbsp;sId=sId.replace(/x$/i,"a");<br>&nbsp;if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";<br>&nbsp;sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));<br>&nbsp;var d=new Date(sBirthday.replace(/-/g,"/"))<br>&nbsp;if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";<br>&nbsp;for(var i = 17;i&gt;=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)<br>&nbsp;if(iSum%11!=1)return "Error:非法证号";<br>&nbsp;return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")<br>}</p>
            <p>document.write(cidInfo("380524198002300016"),"&lt;br/&gt;");<br>document.write(cidInfo("340524198002300019"),"&lt;br/&gt;")<br>document.write(cidInfo("340524197711111111"),"&lt;br/&gt;")<br>document.write(cidInfo("34052419800101001x"),"&lt;br/&gt;");<br>&lt;/script&gt;</p>
            <p>２．验证ＩＰ地址<br>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br>function isip(s){<br>&nbsp;var check=function(v){try{return (v&lt;=255 &amp;&amp; v&gt;=0)}catch(x){return false}};<br>&nbsp;var re=s.split(".")<br>&nbsp;return (re.length==4)?(check(re[0]) &amp;&amp; check(re[1]) &amp;&amp; check(re[2]) &amp;&amp; check(re[3])):false<br>}</p>
            <p>var s="202.197.78.129";<br>alert(isip(s))<br>&lt;/SCRIPT&gt;</p>
            <p>&nbsp;</p>
            <p>３．加sp1后还能用的无边框窗口！！<br>&lt;HTML XMLNS:IE&gt;<br>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br>&lt;IE:Download ID="include" STYLE="behavior:url(#default#download)" /&gt;<br>&lt;title&gt;Chromeless Window&lt;/title&gt;</p>
            <p>&lt;SCRIPT LANGUAGE="JScript"&gt;<br>/*--- Special Thanks For andot ---*/</p>
            <p>/*<br>&nbsp;This following code are designed and writen by Windy_sk &lt;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#101;&#97;&#115;&#111;&#110;&#120;&#64;&#49;&#54;&#51;&#46;&#110;&#101;&#116;"><font color=#163498>seasonx@163.net</font></a>&gt;<br>&nbsp;You can use it freely, but u must held all the copyright items!<br>*/</p>
            <p>/*--- Thanks For andot Again ---*/</p>
            <p>var CW_width&nbsp;= 400;<br>var CW_height&nbsp;= 300;<br>var CW_top&nbsp;= 100;<br>var CW_left&nbsp;= 100;<br>var CW_url&nbsp;= "/";<br>var New_CW&nbsp;= window.createPopup();<br>var CW_Body&nbsp;= New_CW.document.body;<br>var content&nbsp;= "";<br>var CSStext&nbsp;= "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";</p>
            <p>//Build Window<br>include.startDownload(CW_url, function(source){content=source});</p>
            <p>function insert_content(){<br>&nbsp;var temp = "";<br>&nbsp;CW_Body.style.overflow&nbsp;&nbsp;= "hidden";<br>&nbsp;CW_Body.style.backgroundColor&nbsp;= "white";<br>&nbsp;CW_Body.style.border&nbsp;&nbsp;=&nbsp; "solid black 1px";<br>&nbsp;content = content.replace(/&lt;a ([^&gt;]*)&gt;/g,"&lt;a onclick='parent.open(this.href);return false' $1&gt;");<br>&nbsp;temp += "&lt;table width=100% height=100% cellpadding=0 cellspacing=0 border=0&gt;";<br>&nbsp;temp += "&lt;tr style=';font-size:12px;background:#0099CC;height:20;cursor:default' ondblclick=\"Max.innerText=Max.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" onmouseup='parent.drag_up(event)' onmousemove='parent.drag_move(event)' onmousedown='parent.drag_down(event)' onselectstart='return false' oncontextmenu='return false'&gt;";<br>&nbsp;temp += "&lt;td style='color:#ffffff;padding-left:5px'&gt;Chromeless Window For IE6 SP1&lt;/td&gt;";<br>&nbsp;temp += "&lt;td style='color:#ffffff;padding-right:5px;' align=right&gt;";<br>&nbsp;temp += "&lt;span id=Help&nbsp; onclick=\"alert('Chromeless Window For IE6 SP1&nbsp; -&nbsp; Ver 1.0\\n\\nCode By Windy_sk\\n\\nSpecial Thanks For andot')\" style=\""+CSStext+"font-family:System;padding-right:2px;\"&gt;?&lt;/span&gt;";<br>&nbsp;temp += "&lt;span id=Min&nbsp;&nbsp; onclick='parent.New_CW.hide();parent.blur()' style=\""+CSStext+"font-family:Webdings;\" title='Minimum'&gt;0&lt;/span&gt;";<br>&nbsp;temp += "&lt;span id=Max&nbsp;&nbsp; onclick=\"this.innerText=this.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" style=\""+CSStext+"font-family:Webdings;\" title='Maximum'&gt;1&lt;/span&gt;";<br>&nbsp;temp += "&lt;span id=Close onclick='parent.opener=null;parent.close()' style=\""+CSStext+"font-family:System;padding-right:2px;\" title='Close'&gt;x&lt;/span&gt;";<br>&nbsp;temp += "&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=2&gt;";<br>&nbsp;temp += "&lt;div id=include style='overflow:scroll;overflow-x:hidden;overflow-y:auto; HEIGHT: 100%; width:"+CW_width+"'&gt;";<br>&nbsp;temp += content;<br>&nbsp;temp += "&lt;/div&gt;";<br>&nbsp;temp += "&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;";<br>&nbsp;CW_Body.innerHTML = temp;<br>}</p>
            <p>setTimeout("insert_content()",1000);</p>
            <p>var if_max = true;<br>function show_CW(){<br>&nbsp;window.moveTo(10000, 10000);<br>&nbsp;if(if_max){<br>&nbsp;&nbsp;New_CW.show(CW_top, CW_left, CW_width, CW_height);<br>&nbsp;&nbsp;if(typeof(New_CW.document.all.include)!="undefined"){<br>&nbsp;&nbsp;&nbsp;New_CW.document.all.include.style.width = CW_width;<br>&nbsp;&nbsp;&nbsp;New_CW.document.all.Max.innerText = "1";<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;<br>&nbsp;}else{<br>&nbsp;&nbsp;New_CW.show(0, 0, screen.width, screen.height);<br>&nbsp;&nbsp;New_CW.document.all.include.style.width = screen.width;<br>&nbsp;}<br>}</p>
            <p>window.onfocus&nbsp; = show_CW;<br>window.onresize = show_CW;</p>
            <p>// Move Window<br>var drag_x,drag_y,draging=false</p>
            <p>function drag_move(e){<br>&nbsp;if (draging){<br>&nbsp;&nbsp;New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
            <p>function drag_down(e){<br>&nbsp;if(e.button==2)return;<br>&nbsp;if(New_CW.document.body.offsetWidth==screen.width &amp;&amp; New_CW.document.body.offsetHeight==screen.height)return;<br>&nbsp;drag_x=e.clientX;<br>&nbsp;drag_y=e.clientY;<br>&nbsp;draging=true;<br>&nbsp;e.srcElement.setCapture();<br>}</p>
            <p>function drag_up(e){<br>&nbsp;draging=false;<br>&nbsp;e.srcElement.releaseCapture();<br>&nbsp;if(New_CW.document.body.offsetWidth==screen.width &amp;&amp; New_CW.document.body.offsetHeight==screen.height) return;<br>&nbsp;CW_top&nbsp; = e.screenX-drag_x;<br>&nbsp;CW_left = e.screenY-drag_y;<br>}</p>
            <p>&lt;/SCRIPT&gt;<br>&lt;/HTML&gt;</p>
            <p>电话号码的验证</p>
            <p>要求：<br>　　(1)电话号码由数字、"("、")"和"-"构成<br>　　(2)电话号码为3到8位<br>　　(3)如果电话号码中包含有区号，那么区号为三位或四位<br>　　(4)区号用"("、")"或"-"和其他部分隔开<br>　　(5)移动电话号码为11或12位，如果为12位,那么第一位为0<br>　　(6)11位移动电话号码的第一位和第二位为"13"<br>　　(7)12位移动电话号码的第二位和第三位为"13"<br>　　根据这几条规则，可以与出以下正则表达式：<br>　　(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)</p>
            <p><br>&lt;script language="javascript"&gt;<br>function PhoneCheck(s) {<br>var str=s;<br>var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/<br>alert(reg.test(str));<br>}<br>&lt;/script&gt;<br>&lt;input type=text name="iphone"&gt;<br>&lt;input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check"&gt;</p>
            <p>具有在输入非数字字符不回显的效果，即对非数字字符的输入不作反应。<br>function numbersonly(field,event){<br>&nbsp;var key,keychar;<br>&nbsp;if(window.event){<br>&nbsp;&nbsp;key = window.event.keyCode;<br>&nbsp;}<br>&nbsp;else if (event){<br>&nbsp;&nbsp;key = event.which;<br>&nbsp;}<br>&nbsp;else{<br>&nbsp;&nbsp;return true<br>&nbsp;}<br>&nbsp;keychar = String.fromCharCode(key);<br>&nbsp;if((key == null)||(key == 0)||(key == 8)||(key == 9)||(key == 13)||(key == 27)){<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>&nbsp;else if(("0123456789.").indexOf(keychar)&gt;-1){<br>&nbsp;&nbsp;window.status = "";<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>&nbsp;else {<br>&nbsp;&nbsp;window.status = "Field excepts numbers only";<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
            <p>验证ip </p>
            <p>str=document.RegExpDemo.txtIP.value;<br>if(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(str)==false)<br>{<br>&nbsp;window.alert('错误的IP地址格式');<br>&nbsp;document.RegExpDemo.txtIP.select();<br>&nbsp;document.RegExpDemo.txtIP.focus();<br>&nbsp;return;<br>}<br>if(RegExp.$1&lt;1 || RegExp.$1&gt;254||RegExp.$2&lt;0||RegExp.$2&gt;254||RegExp.$3&lt;0||RegExp.$3&gt;254||RegExp.$4&lt;1||RegExp.$4&gt;254)<br>{<br>&nbsp;window.alert('错误的IP地址');<br>&nbsp;document.RegExpDemo.txtIP.select();<br>&nbsp;document.RegExpDemo.txtIP.focus();<br>&nbsp;return;<br>}<br>//剔除 如&nbsp; 010.020.020.03 前面 的0 <br>var str=str.replace(/0(\d)/g,"$1");<br>str=str.replace(/0(\d)/g,"$1");<br>window.alert(str);</p>
            </td>
        </tr>
    </tbody>
</table>
<p>//一下是取数据的类<br>//Obj参数指定数据的来源(限定Table),默认第一行为字段名称行<br>//GetTableData类提供MoveNext方法,参数是表的行向上或向下移动的位数,正数向下移动,负数向上.<br>//GetFieldData方法获得指定的列名的数据<br>//Sort_desc方法对指定的列按降序排列<br>//Sort_asc方法对指定的列按升序排列<br>//GetData方法返回字段值为特定值的数据数组,提供数据,可以在外部进行其他处理<br>//Delete方法删除当前记录,数组减少一行<br>//初始化,Obj:table的名字,Leftlen:左面多余数据长度,Rightlen:右面多余数据长度,<br>function GetTableData(Obj,LeftLen,RightLen){<br>var MyObj=document.all(Obj);<br>var iRow=MyObj.rows.length;<br>var iLen=MyObj.rows[0].cells.length;<br>var i,j;</p>
<p>TableData=new Array();<br>&nbsp;&nbsp;for (i=0;i&lt; iRow;i++){<br>&nbsp;&nbsp;&nbsp;TableData[i]=new Array();<br>&nbsp;&nbsp;&nbsp;for (j=0;j&lt;iLen;j++){<br>&nbsp;&nbsp;&nbsp;TableStr=MyObj.rows(i).cells(j).innerText;<br>&nbsp;&nbsp;&nbsp;TableStr=TableStr.substring(LeftLen, TableStr.length-RightLen).Trim();<br>&nbsp;&nbsp;&nbsp;TableStr=TableStr.replace(/ /gi,"").replace(/\r\n/ig,"");<br>&nbsp;&nbsp;&nbsp;TableData[i][j]=TableStr;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp; <br>&nbsp; this.TableData=TableData; <br>&nbsp; this.cols=this.TableData[0].length;<br>&nbsp; this.rows=this.TableData.length;<br>&nbsp; this.rowindex=0;<br>}</p>
<p><br>function movenext(Step){<br>if (this.rowindex&gt;=this.rows){<br>return<br>}</p>
<p>if (Step=="" || typeof(Step)=="undefined") {<br>&nbsp;if (this.rowindex&lt;this.rows-1)<br>&nbsp;this.rowindex++;<br>&nbsp;return;</p>
<p>}<br>&nbsp;else{<br>&nbsp;&nbsp;if (this.rowindex + Step&lt;=this.rows-1 &amp;&amp; this.rowindex + Step&gt;=0 ){<br>&nbsp;&nbsp;this.rowindex=this.rowindex + Step;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;if (this.rowindex + Step&lt;0){<br>&nbsp;&nbsp; this.rowindex= 0;<br>&nbsp;&nbsp; return;<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;if (this.rowindex + Step&gt;this.rows-1){<br>&nbsp;&nbsp; this.rowindex= this.rows-1;<br>&nbsp;&nbsp; return;<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}</p>
<p><br>function getfielddata(Field){<br>var colindex=-1;<br>var i=0;<br>&nbsp;if (typeof(Field) == "number"){<br>&nbsp;&nbsp;&nbsp;colindex=Field;<br>&nbsp;&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;for (i=0;i&lt;this.cols &amp;&amp; this.rowindex&lt;this.rows ;i++){<br>&nbsp;&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;&nbsp;if (colindex!=-1) {<br>&nbsp;&nbsp;return this.TableData[this.rowindex][colindex];<br>&nbsp;&nbsp;}</p>
<p>}</p>
<p>&nbsp;</p>
<p>function sort_desc(){//降序<br>&nbsp;var colindex=-1;<br>&nbsp;var highindex=-1;<br>&nbsp;desc_array=new Array();<br>&nbsp;var i,j;<br>for (n=0; n&lt;arguments.length; n++){<br>&nbsp;Field=arguments[arguments.length-1-n];<br>&nbsp;for (i=0;i&lt;this.cols;i++){<br>&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;break;<br>&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;&nbsp; if ( colindex==-1 )<br>&nbsp;&nbsp;return;<br>&nbsp;&nbsp; else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;desc_array[0]=this.TableData[0];<br>&nbsp;&nbsp;for(i=1;i&lt;this.rows;i++){<br>&nbsp;&nbsp;desc_array[i]=this.TableData[1];<br>&nbsp;&nbsp;highindex=1;<br>&nbsp;&nbsp;&nbsp;for(j=1;j&lt;this.TableData.length;j++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(desc_array[i][colindex]&lt;this.TableData[j][colindex]){&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; desc_array[i]=this.TableData[j];&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; highindex=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (highindex!=-1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;}<br>&nbsp;}</p>
<p><br>&nbsp;this.TableData=desc_array;<br>}<br>&nbsp;return;<br>}</p>
<p>&nbsp;</p>
<p>function sort_asc(){//升序<br>&nbsp;var colindex=-1;<br>&nbsp;var highindex=-1;<br>&nbsp;var i,j;<br>for (n=0; n&lt;arguments.length; n++){<br>&nbsp;&nbsp;&nbsp;asc_array=new Array();<br>&nbsp;&nbsp;&nbsp;Field=arguments[arguments.length-1-n];<br>&nbsp;&nbsp;&nbsp;for (i=0;i&lt;this.cols;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;if ( colindex==-1 )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asc_array[0]=this.TableData[0];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=1;i&lt;this.rows;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asc_array[i]=this.TableData[1];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highindex=1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j=1;j&lt;this.TableData.length;j++){//找出最小的列值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(asc_array[i][colindex]&gt;this.TableData[j][colindex]){&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; asc_array[i]=this.TableData[j];&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; highindex=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (highindex!=-1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;this.TableData=asc_array;<br>&nbsp;}<br>&nbsp;return;<br>}</p>
<p>&nbsp;</p>
<p>function getData(Field,FieldValue){<br>var colindex=-1;<br>var i,j;</p>
<p>GetData=new Array();<br>&nbsp;&nbsp;if (typeof(Field)=="undefined" || typeof(FieldValue)=="undefined" ){<br>&nbsp;&nbsp;return this.TableData;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;for(j=0;j&lt;this.cols;j++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(this.TableData[0][j]==Field){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;colindex=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;if (colindex!=-1){<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;for(i=1;i&lt;this.rows;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(this.TableData[i][colindex]==FieldValue){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData[i]=new Array();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData[i]=this.TableData[i];&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp; return GetData;<br>}<br>function DeletE(){<br>this.TableData=this.TableData.slice(0,this.rowindex).concat(this.TableData.slice(this.rowindex+1,this.TableData.length));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>this.rows=this.TableData.length;<br>return;<br>}<br>function updateField(Field,FieldValue){<br>var colindex=-1;<br>var i=0;<br>&nbsp;if (typeof(Field) == "number"){<br>&nbsp;&nbsp;&nbsp;colindex=Field;<br>&nbsp;&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;for (i=0;i&lt;this.cols &amp;&amp; this.rowindex&lt;this.rows ;i++){<br>&nbsp;&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;if (colindex!=-1) {<br>&nbsp;&nbsp;this.TableData[this.rowindex][colindex]=FieldValue;<br>&nbsp;&nbsp;}</p>
<p><br>}<br>function movefirst(){<br>this.rowindex=0;<br>}<br>function movelast(){<br>this.rowindex=this.rows-1;<br>}<br>function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}<br>GetTableData.prototype.MoveNext = movenext;<br>GetTableData.prototype.GetFieldData = getfielddata;<br>GetTableData.prototype.Sort_asc = sort_asc;<br>GetTableData.prototype.Sort_desc = sort_desc;<br>GetTableData.prototype.GetData = getData;<br>GetTableData.prototype.Delete = DeletE;<br>GetTableData.prototype.UpdateField = updateField;<br>GetTableData.prototype.MoveFirst = movefirst;</p>
<p>具体的例子：<a href="http://202.119.73.208/NetEAn/com/test/jsprint.htm"><font color=#163498>http://202.119.73.208/NetEAn/com/test/jsprint.htm</font></a></p>
<p>在每个文本框的onblur事件中调用校验代码,并且每个文本框中onKeyDown事件中写一个enter转tab函数</p>
<p>//回车键换为tab<br>function enterToTab()<br>{<br>&nbsp;&nbsp;&nbsp; if(event.srcElement.type != 'button' &amp;&amp; event.srcElement.type != 'textarea'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; event.keyCode == 13)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.keyCode = 9;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>有时候还需要自由编辑表格---<br>给大家一个自由编辑表格的小例子,写的有点乱,呵呵:）</p>
<p>//===============================start================================</p>
<p><br>&lt;HTML&gt;<br>&lt;HEAD&gt;<br>&lt;META http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br>&lt;TITLE&gt;测试修改表格&lt;/TITLE&gt;<br>&lt;STYLE&gt;<br>/*提示层的样式*/<br>div<br>{<br>&nbsp; BORDER-RIGHT: #80c144 1px solid;<br>&nbsp; BORDER-TOP: #80c144 1px solid;<br>&nbsp; VISIBILITY: hidden;<br>&nbsp; BORDER-LEFT: #80c144 1px solid;<br>&nbsp; CURSOR: default;<br>&nbsp; LINE-HEIGHT: 20px;<br>&nbsp; BORDER-BOTTOM: #80c144 1px solid;<br>&nbsp; FONT-FAMILY: 宋体;<br>&nbsp; font-size:12px;<br>&nbsp; POSITION: absolute;<br>&nbsp; BACKGROUND-COLOR: #f6f6f6;<br>&nbsp; TOP:30px;<br>&nbsp; LEFT:30px;<br>}<br>/*tr的样式*/<br>tr<br>{<br>&nbsp;&nbsp;&nbsp; font-family: "宋体";<br>&nbsp;&nbsp;&nbsp; color: #000000;<br>&nbsp;&nbsp;&nbsp; background-color: #C1DBF5;<br>&nbsp;&nbsp;&nbsp; font-size: 12px<br>}<br>/*table脚注样式*/<br>.TrFoot<br>{<br>&nbsp;&nbsp;&nbsp; FONT-SIZE: 12px;<br>&nbsp;&nbsp;&nbsp; font-family:"宋体", "Verdana", "Arial";<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #6699CC;<br>&nbsp;&nbsp;&nbsp; COLOR:#FFFFFF;<br>&nbsp;&nbsp;&nbsp; height: 25;<br>}<br>/*trhead属性*/<br>.TrHead<br>{<br>&nbsp;&nbsp;&nbsp; FONT-SIZE: 13px;<br>&nbsp;&nbsp;&nbsp; font-family:"宋体", "Verdana", "Arial";<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #77AADD;<br>&nbsp;&nbsp;&nbsp; COLOR:#FFFFFF;<br>&nbsp;&nbsp;&nbsp; height: 25;<br>}<br>/*文本框样式*/<br>INPUT<br>{<br>&nbsp;&nbsp;&nbsp; BORDER-COLOR: #AACEF7 #AACEF7 #AACEF7 #AACEF7;<br>&nbsp;&nbsp;&nbsp; BORDER-RIGHT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-TOP: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-LEFT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-BOTTOM: 1px solid;<br>&nbsp;&nbsp;&nbsp; FONT-SIZE: 12px;<br>&nbsp;&nbsp;&nbsp; FONT-FAMILY: "宋体","Verdana";<br>&nbsp;&nbsp;&nbsp; color: #000000;<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #E9EFF5;<br>}<br>/*button样式*/<br>button<br>{<br>&nbsp;&nbsp;&nbsp; BORDER-COLOR: #AACEF7 #AACEF7 #AACEF7 #AACEF7;<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #D5E4F3;<br>&nbsp;&nbsp;&nbsp; CURSOR: hand;<br>&nbsp;&nbsp;&nbsp; FONT-SIZE:12px;<br>&nbsp;&nbsp;&nbsp; BORDER-RIGHT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-TOP: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-LEFT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-BOTTOM: 1px solid;<br>&nbsp;&nbsp;&nbsp; COLOR: #000000;<br>}<br>&lt;/STYLE&gt;<br>&lt;/HEAD&gt;<br>&lt;BODY&gt;<br>&lt;SCRIPT language = "JavaScript"&gt;<br>&lt;!--全局变量<br>//标志位,值为false代表未打开一个编辑框,值为true为已经打开一个编辑框开始编辑<br>var editer_table_cell_tag = false;<br>//开启编辑功能标志,值为true时为允许编辑<br>var run_edit_flag = false;<br>//--&gt;<br>&lt;/SCRIPT&gt;</p>
<p>&lt;SCRIPT language = "JavaScript"&gt;<br>&lt;!--<br>/**<br>&nbsp;* 编辑表格函数<br>&nbsp;* 单击某个单元格可以对里面的内容进行自由编辑<br>&nbsp;* @para tableID 为要编辑的table的id<br>&nbsp;* @para noEdiID 为不要编辑的td的ID,比如说table的标题<br>&nbsp;* 可以写为&lt;TD id="no_editer"&gt;自由编辑表格&lt;/TD&gt;<br>&nbsp;* 此时该td不可编辑<br>&nbsp;*/<br>function editerTableCell(tableId,noEdiId)<br>{<br>&nbsp;var tdObject = event.srcElement;<br>&nbsp;var tObject = ((tdObject.parentNode).parentNode).parentNode;<br>&nbsp;if(tObject.id == tableId &amp;&amp;tdObject.id != noEdiId&amp;&amp;editer_table_cell_tag == false &amp;&amp; run_edit_flag == true)<br>&nbsp;{<br>&nbsp;&nbsp;tdObject.innerHTML = "&lt;input type=text id=edit_table_txt name=edit_table_txt value="+tdObject.innerText+" size='15' onKeyDown='enterToTab()'&gt;&nbsp; &lt;input type=button value=' 确定 ' onclick='certainEdit()'&gt;";<br>&nbsp;&nbsp;edit_table_txt.focus();<br>&nbsp;&nbsp;edit_table_txt.select();<br>&nbsp;&nbsp;editer_table_cell_tag = true;<br>&nbsp;&nbsp;//修改按钮提示信息<br>&nbsp;&nbsp;editTip.innerText = "请先点确定按钮确认修改!";&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
<p>/**<br>&nbsp;* 确定修改<br>&nbsp;*/<br>function certainEdit()<br>{<br>&nbsp;var bObject = event.srcElement;<br>&nbsp;var tdObject = bObject.parentNode;&nbsp;<br>&nbsp;var txtObject = tdObject.firstChild;<br>&nbsp;tdObject.innerHTML = txtObject.value;<br>&nbsp;//代表编辑框已经关闭<br>&nbsp;editer_table_cell_tag = false;<br>&nbsp;//修改按钮提示信息<br>&nbsp;editTip.innerText = "请单击某个单元格进行编辑!";<br>}</p>
<p>function enterToTab()<br>{<br>&nbsp;&nbsp;&nbsp; if(event.srcElement.type != 'button' &amp;&amp; event.srcElement.type != 'textarea'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; event.keyCode == 13)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.keyCode = 9;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>/**<br>&nbsp;* 控制是否编辑<br>&nbsp;*/<br>function editStart()<br>{<br>&nbsp;if(event.srcElement.value == "开始编辑")<br>&nbsp;{<br>&nbsp;&nbsp;event.srcElement.value = "编辑完成";<br>&nbsp;&nbsp;run_edit_flag = true;<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;//如果当前没有编辑框,则编辑成功,否则,无法提交<br>&nbsp;&nbsp;//必须按确定按钮后才能正常提交<br>&nbsp;&nbsp;if(editer_table_cell_tag == false)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;alert("编辑成功结束!");<br>&nbsp;&nbsp;&nbsp;event.srcElement.value = "开始编辑";<br>&nbsp;&nbsp;&nbsp;run_edit_flag = false;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}</p>
<p>/**<br>&nbsp;* 根据不同的按钮提供不同的提示信息<br>&nbsp;*/<br>function showTip()<br>{<br>&nbsp;if(event.srcElement.value == "编辑完成")<br>&nbsp;{<br>&nbsp;&nbsp;editTip.style.top = event.y + 15;<br>&nbsp;&nbsp;editTip.style.left = event.x + 12;<br>&nbsp;&nbsp;editTip.style.visibility = "visible";&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;editTip.style.visibility = "hidden";&nbsp;&nbsp;&nbsp;<br>&nbsp;}&nbsp;<br>}<br>--&gt;<br>&lt;/SCRIPT&gt;<br>&lt;TABLE id="editer_table" width="100%" align="center" <br>&nbsp;&nbsp;&nbsp; onclick="editerTableCell('editer_table','no_editer')"&gt;&nbsp; <br>&nbsp;&nbsp;&nbsp; &lt;TR class="TrHead"&gt;<br>&nbsp;&nbsp;&lt;TD colspan="3" align="center" id="no_editer"&gt;自由编辑表格&lt;/TD&gt;&nbsp;&nbsp;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;单击开始编辑按钮,然后点击各单元格编辑&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;2&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;3&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;4&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;5&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;6&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;one&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;two&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;three&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;four&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;five&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;six&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; &lt;TR class="TrFoot"&gt;<br>&nbsp;&nbsp;&lt;TD colspan="3" align="center" id="no_editer"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;INPUT type="button" class="bt" value="开始编辑" onClick="editStart()" onMouseOver="showTip()" onMouseMove="showTip()" onMouseOut="editTip.style.visibility = 'hidden';"&gt;<br>&nbsp;&nbsp;&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;&nbsp;<br>&lt;/TABLE&gt;<br>&lt;/BODY&gt;<br>&lt;DIV id="editTip"&gt;请单击某个单元格进行编辑!&lt;/DIV&gt; <br>&lt;/HTML&gt;</p>
<img src ="http://www.blogjava.net/moonboat/aggbug/110151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-12 13:24 <a href="http://www.blogjava.net/moonboat/articles/110151.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在b/s开发中经常用到的javaScript技术(一)</title><link>http://www.blogjava.net/moonboat/articles/110150.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Thu, 12 Apr 2007 05:22:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110150.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110150.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110150.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110150.html</trackback:ping><description><![CDATA[有时候还需要自由编辑表格---<br>给大家一个自由编辑表格的小例子,写的有点乱,呵呵:）
<p>//===============================start================================</p>
<p><br>&lt;HTML&gt;<br>&lt;HEAD&gt;<br>&lt;META http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br>&lt;TITLE&gt;测试修改表格&lt;/TITLE&gt;<br>&lt;STYLE&gt;<br>/*提示层的样式*/<br>div<br>{<br>&nbsp; BORDER-RIGHT: #80c144 1px solid;<br>&nbsp; BORDER-TOP: #80c144 1px solid;<br>&nbsp; VISIBILITY: hidden;<br>&nbsp; BORDER-LEFT: #80c144 1px solid;<br>&nbsp; CURSOR: default;<br>&nbsp; LINE-HEIGHT: 20px;<br>&nbsp; BORDER-BOTTOM: #80c144 1px solid;<br>&nbsp; FONT-FAMILY: 宋体;<br>&nbsp; font-size:12px;<br>&nbsp; POSITION: absolute;<br>&nbsp; BACKGROUND-COLOR: #f6f6f6;<br>&nbsp; TOP:30px;<br>&nbsp; LEFT:30px;<br>}<br>/*tr的样式*/<br>tr<br>{<br>&nbsp;&nbsp;&nbsp; font-family: "宋体";<br>&nbsp;&nbsp;&nbsp; color: #000000;<br>&nbsp;&nbsp;&nbsp; background-color: #C1DBF5;<br>&nbsp;&nbsp;&nbsp; font-size: 12px<br>}<br>/*table脚注样式*/<br>.TrFoot<br>{<br>&nbsp;&nbsp;&nbsp; FONT-SIZE: 12px;<br>&nbsp;&nbsp;&nbsp; font-family:"宋体", "Verdana", "Arial";<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #6699CC;<br>&nbsp;&nbsp;&nbsp; COLOR:#FFFFFF;<br>&nbsp;&nbsp;&nbsp; height: 25;<br>}<br>/*trhead属性*/<br>.TrHead<br>{<br>&nbsp;&nbsp;&nbsp; FONT-SIZE: 13px;<br>&nbsp;&nbsp;&nbsp; font-family:"宋体", "Verdana", "Arial";<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #77AADD;<br>&nbsp;&nbsp;&nbsp; COLOR:#FFFFFF;<br>&nbsp;&nbsp;&nbsp; height: 25;<br>}<br>/*文本框样式*/<br>INPUT<br>{<br>&nbsp;&nbsp;&nbsp; BORDER-COLOR: #AACEF7 #AACEF7 #AACEF7 #AACEF7;<br>&nbsp;&nbsp;&nbsp; BORDER-RIGHT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-TOP: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-LEFT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-BOTTOM: 1px solid;<br>&nbsp;&nbsp;&nbsp; FONT-SIZE: 12px;<br>&nbsp;&nbsp;&nbsp; FONT-FAMILY: "宋体","Verdana";<br>&nbsp;&nbsp;&nbsp; color: #000000;<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #E9EFF5;<br>}<br>/*button样式*/<br>button<br>{<br>&nbsp;&nbsp;&nbsp; BORDER-COLOR: #AACEF7 #AACEF7 #AACEF7 #AACEF7;<br>&nbsp;&nbsp;&nbsp; BACKGROUND-COLOR: #D5E4F3;<br>&nbsp;&nbsp;&nbsp; CURSOR: hand;<br>&nbsp;&nbsp;&nbsp; FONT-SIZE:12px;<br>&nbsp;&nbsp;&nbsp; BORDER-RIGHT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-TOP: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-LEFT: 1px solid;<br>&nbsp;&nbsp;&nbsp; BORDER-BOTTOM: 1px solid;<br>&nbsp;&nbsp;&nbsp; COLOR: #000000;<br>}<br>&lt;/STYLE&gt;<br>&lt;/HEAD&gt;<br>&lt;BODY&gt;<br>&lt;SCRIPT language = "JavaScript"&gt;<br>&lt;!--全局变量<br>//标志位,值为false代表未打开一个编辑框,值为true为已经打开一个编辑框开始编辑<br>var editer_table_cell_tag = false;<br>//开启编辑功能标志,值为true时为允许编辑<br>var run_edit_flag = false;<br>//--&gt;<br>&lt;/SCRIPT&gt;</p>
<p>&lt;SCRIPT language = "JavaScript"&gt;<br>&lt;!--<br>/**<br>&nbsp;* 编辑表格函数<br>&nbsp;* 单击某个单元格可以对里面的内容进行自由编辑<br>&nbsp;* @para tableID 为要编辑的table的id<br>&nbsp;* @para noEdiID 为不要编辑的td的ID,比如说table的标题<br>&nbsp;* 可以写为&lt;TD id="no_editer"&gt;自由编辑表格&lt;/TD&gt;<br>&nbsp;* 此时该td不可编辑<br>&nbsp;*/<br>function editerTableCell(tableId,noEdiId)<br>{<br>&nbsp;var tdObject = event.srcElement;<br>&nbsp;var tObject = ((tdObject.parentNode).parentNode).parentNode;<br>&nbsp;if(tObject.id == tableId &amp;&amp;tdObject.id != noEdiId&amp;&amp;editer_table_cell_tag == false &amp;&amp; run_edit_flag == true)<br>&nbsp;{<br>&nbsp;&nbsp;tdObject.innerHTML = "&lt;input type=text id=edit_table_txt name=edit_table_txt value="+tdObject.innerText+" size='15' onKeyDown='enterToTab()'&gt;&nbsp; &lt;input type=button value=' 确定 ' onclick='certainEdit()'&gt;";<br>&nbsp;&nbsp;edit_table_txt.focus();<br>&nbsp;&nbsp;edit_table_txt.select();<br>&nbsp;&nbsp;editer_table_cell_tag = true;<br>&nbsp;&nbsp;//修改按钮提示信息<br>&nbsp;&nbsp;editTip.innerText = "请先点确定按钮确认修改!";&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
<p>/**<br>&nbsp;* 确定修改<br>&nbsp;*/<br>function certainEdit()<br>{<br>&nbsp;var bObject = event.srcElement;<br>&nbsp;var tdObject = bObject.parentNode;&nbsp;<br>&nbsp;var txtObject = tdObject.firstChild;<br>&nbsp;tdObject.innerHTML = txtObject.value;<br>&nbsp;//代表编辑框已经关闭<br>&nbsp;editer_table_cell_tag = false;<br>&nbsp;//修改按钮提示信息<br>&nbsp;editTip.innerText = "请单击某个单元格进行编辑!";<br>}</p>
<p>function enterToTab()<br>{<br>&nbsp;&nbsp;&nbsp; if(event.srcElement.type != 'button' &amp;&amp; event.srcElement.type != 'textarea'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; event.keyCode == 13)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.keyCode = 9;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>/**<br>&nbsp;* 控制是否编辑<br>&nbsp;*/<br>function editStart()<br>{<br>&nbsp;if(event.srcElement.value == "开始编辑")<br>&nbsp;{<br>&nbsp;&nbsp;event.srcElement.value = "编辑完成";<br>&nbsp;&nbsp;run_edit_flag = true;<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;//如果当前没有编辑框,则编辑成功,否则,无法提交<br>&nbsp;&nbsp;//必须按确定按钮后才能正常提交<br>&nbsp;&nbsp;if(editer_table_cell_tag == false)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;alert("编辑成功结束!");<br>&nbsp;&nbsp;&nbsp;event.srcElement.value = "开始编辑";<br>&nbsp;&nbsp;&nbsp;run_edit_flag = false;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}</p>
<p>/**<br>&nbsp;* 根据不同的按钮提供不同的提示信息<br>&nbsp;*/<br>function showTip()<br>{<br>&nbsp;if(event.srcElement.value == "编辑完成")<br>&nbsp;{<br>&nbsp;&nbsp;editTip.style.top = event.y + 15;<br>&nbsp;&nbsp;editTip.style.left = event.x + 12;<br>&nbsp;&nbsp;editTip.style.visibility = "visible";&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;&nbsp;editTip.style.visibility = "hidden";&nbsp;&nbsp;&nbsp;<br>&nbsp;}&nbsp;<br>}<br>--&gt;<br>&lt;/SCRIPT&gt;<br>&lt;TABLE id="editer_table" width="100%" align="center" <br>&nbsp;&nbsp;&nbsp; onclick="editerTableCell('editer_table','no_editer')"&gt;&nbsp; <br>&nbsp;&nbsp;&nbsp; &lt;TR class="TrHead"&gt;<br>&nbsp;&nbsp;&lt;TD colspan="3" align="center" id="no_editer"&gt;自由编辑表格&lt;/TD&gt;&nbsp;&nbsp;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;单击开始编辑按钮,然后点击各单元格编辑&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;2&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;3&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;4&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;5&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;6&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;one&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;two&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;three&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;<br>&nbsp;&lt;TR&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;four&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;five&lt;/TD&gt;<br>&nbsp;&nbsp;&lt;TD width="33%"&gt;six&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; &lt;TR class="TrFoot"&gt;<br>&nbsp;&nbsp;&lt;TD colspan="3" align="center" id="no_editer"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;INPUT type="button" class="bt" value="开始编辑" onClick="editStart()" onMouseOver="showTip()" onMouseMove="showTip()" onMouseOut="editTip.style.visibility = 'hidden';"&gt;<br>&nbsp;&nbsp;&lt;/TD&gt;<br>&nbsp;&lt;/TR&gt;&nbsp;<br>&lt;/TABLE&gt;<br>&lt;/BODY&gt;<br>&lt;DIV id="editTip"&gt;请单击某个单元格进行编辑!&lt;/DIV&gt; <br>&lt;/HTML&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>//一下是取数据的类<br>//Obj参数指定数据的来源(限定Table),默认第一行为字段名称行<br>//GetTableData类提供MoveNext方法,参数是表的行向上或向下移动的位数,正数向下移动,负数向上.<br>//GetFieldData方法获得指定的列名的数据<br>//Sort_desc方法对指定的列按降序排列<br>//Sort_asc方法对指定的列按升序排列<br>//GetData方法返回字段值为特定值的数据数组,提供数据,可以在外部进行其他处理<br>//Delete方法删除当前记录,数组减少一行<br>//初始化,Obj:table的名字,Leftlen:左面多余数据长度,Rightlen:右面多余数据长度,<br>function GetTableData(Obj,LeftLen,RightLen){<br>var MyObj=document.all(Obj);<br>var iRow=MyObj.rows.length;<br>var iLen=MyObj.rows[0].cells.length;<br>var i,j;</p>
<p>TableData=new Array();<br>&nbsp;&nbsp;for (i=0;i&lt; iRow;i++){<br>&nbsp;&nbsp;&nbsp;TableData[i]=new Array();<br>&nbsp;&nbsp;&nbsp;for (j=0;j&lt;iLen;j++){<br>&nbsp;&nbsp;&nbsp;TableStr=MyObj.rows(i).cells(j).innerText;<br>&nbsp;&nbsp;&nbsp;TableStr=TableStr.substring(LeftLen, TableStr.length-RightLen).Trim();<br>&nbsp;&nbsp;&nbsp;TableStr=TableStr.replace(/ /gi,"").replace(/\r\n/ig,"");<br>&nbsp;&nbsp;&nbsp;TableData[i][j]=TableStr;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp; <br>&nbsp; this.TableData=TableData; <br>&nbsp; this.cols=this.TableData[0].length;<br>&nbsp; this.rows=this.TableData.length;<br>&nbsp; this.rowindex=0;<br>}</p>
<p><br>function movenext(Step){<br>if (this.rowindex&gt;=this.rows){<br>return<br>}</p>
<p>if (Step=="" || typeof(Step)=="undefined") {<br>&nbsp;if (this.rowindex&lt;this.rows-1)<br>&nbsp;this.rowindex++;<br>&nbsp;return;</p>
<p>}<br>&nbsp;else{<br>&nbsp;&nbsp;if (this.rowindex + Step&lt;=this.rows-1 &amp;&amp; this.rowindex + Step&gt;=0 ){<br>&nbsp;&nbsp;this.rowindex=this.rowindex + Step;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;if (this.rowindex + Step&lt;0){<br>&nbsp;&nbsp; this.rowindex= 0;<br>&nbsp;&nbsp; return;<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;if (this.rowindex + Step&gt;this.rows-1){<br>&nbsp;&nbsp; this.rowindex= this.rows-1;<br>&nbsp;&nbsp; return;<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}</p>
<p><br>function getfielddata(Field){<br>var colindex=-1;<br>var i=0;<br>&nbsp;if (typeof(Field) == "number"){<br>&nbsp;&nbsp;&nbsp;colindex=Field;<br>&nbsp;&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;for (i=0;i&lt;this.cols &amp;&amp; this.rowindex&lt;this.rows ;i++){<br>&nbsp;&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;&nbsp;if (colindex!=-1) {<br>&nbsp;&nbsp;return this.TableData[this.rowindex][colindex];<br>&nbsp;&nbsp;}</p>
<p>}</p>
<p>&nbsp;</p>
<p>function sort_desc(){//降序<br>&nbsp;var colindex=-1;<br>&nbsp;var highindex=-1;<br>&nbsp;desc_array=new Array();<br>&nbsp;var i,j;<br>for (n=0; n&lt;arguments.length; n++){<br>&nbsp;Field=arguments[arguments.length-1-n];<br>&nbsp;for (i=0;i&lt;this.cols;i++){<br>&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;break;<br>&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;&nbsp; if ( colindex==-1 )<br>&nbsp;&nbsp;return;<br>&nbsp;&nbsp; else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;desc_array[0]=this.TableData[0];<br>&nbsp;&nbsp;for(i=1;i&lt;this.rows;i++){<br>&nbsp;&nbsp;desc_array[i]=this.TableData[1];<br>&nbsp;&nbsp;highindex=1;<br>&nbsp;&nbsp;&nbsp;for(j=1;j&lt;this.TableData.length;j++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(desc_array[i][colindex]&lt;this.TableData[j][colindex]){&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; desc_array[i]=this.TableData[j];&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; highindex=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (highindex!=-1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;}<br>&nbsp;}</p>
<p>&nbsp;<br>&nbsp;this.TableData=desc_array;<br>}<br>&nbsp;return;<br>}</p>
<p>&nbsp;</p>
<p>function sort_asc(){//升序<br>&nbsp;var colindex=-1;<br>&nbsp;var highindex=-1;<br>&nbsp;var i,j;<br>for (n=0; n&lt;arguments.length; n++){<br>&nbsp;&nbsp;&nbsp;asc_array=new Array();<br>&nbsp;&nbsp;&nbsp;Field=arguments[arguments.length-1-n];<br>&nbsp;&nbsp;&nbsp;for (i=0;i&lt;this.cols;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;if ( colindex==-1 )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asc_array[0]=this.TableData[0];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=1;i&lt;this.rows;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asc_array[i]=this.TableData[1];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highindex=1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j=1;j&lt;this.TableData.length;j++){//找出最小的列值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(asc_array[i][colindex]&gt;this.TableData[j][colindex]){&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; asc_array[i]=this.TableData[j];&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; highindex=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (highindex!=-1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;this.TableData=asc_array;<br>&nbsp;}<br>&nbsp;return;<br>}</p>
<p>&nbsp;</p>
<p>function getData(Field,FieldValue){<br>var colindex=-1;<br>var i,j;</p>
<p>GetData=new Array();<br>&nbsp;&nbsp;if (typeof(Field)=="undefined" || typeof(FieldValue)=="undefined" ){<br>&nbsp;&nbsp;return this.TableData;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;for(j=0;j&lt;this.cols;j++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(this.TableData[0][j]==Field){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;colindex=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;if (colindex!=-1){<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;for(i=1;i&lt;this.rows;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(this.TableData[i][colindex]==FieldValue){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData[i]=new Array();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetData[i]=this.TableData[i];&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp; return GetData;<br>}<br>function DeletE(){<br>this.TableData=this.TableData.slice(0,this.rowindex).concat(this.TableData.slice(this.rowindex+1,this.TableData.length));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>this.rows=this.TableData.length;<br>return;<br>}<br>function updateField(Field,FieldValue){<br>var colindex=-1;<br>var i=0;<br>&nbsp;if (typeof(Field) == "number"){<br>&nbsp;&nbsp;&nbsp;colindex=Field;<br>&nbsp;&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp;for (i=0;i&lt;this.cols &amp;&amp; this.rowindex&lt;this.rows ;i++){<br>&nbsp;&nbsp;&nbsp;if (this.TableData[0][i]==Field){<br>&nbsp;&nbsp;&nbsp;colindex=i;<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;if (colindex!=-1) {<br>&nbsp;&nbsp;this.TableData[this.rowindex][colindex]=FieldValue;<br>&nbsp;&nbsp;}</p>
<p><br>}<br>function movefirst(){<br>this.rowindex=0;<br>}<br>function movelast(){<br>this.rowindex=this.rows-1;<br>}<br>function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}<br>GetTableData.prototype.MoveNext = movenext;<br>GetTableData.prototype.GetFieldData = getfielddata;<br>GetTableData.prototype.Sort_asc = sort_asc;<br>GetTableData.prototype.Sort_desc = sort_desc;<br>GetTableData.prototype.GetData = getData;<br>GetTableData.prototype.Delete = DeletE;<br>GetTableData.prototype.UpdateField = updateField;<br>GetTableData.prototype.MoveFirst = movefirst;</p>
<p>具体的例子：<a href="http://202.119.73.208/NetEAn/com/test/jsprint.htm"><font color=#1a8bc8>http://202.119.73.208/NetEAn/com/test/jsprint.htm</font></a><br>*********************************************************************************************************<br>**********************************************************************************************************<br>&lt;%<br>'********************************************<br>'函数功能：正则表达式校验<br>'参数patrn：要校验的类型<br>'&nbsp;&nbsp; "User"&nbsp;&nbsp;&nbsp;- 用户名<br>'&nbsp;&nbsp; "Truename"&nbsp;&nbsp;- 英文姓名<br>'&nbsp;&nbsp; "Passwd"&nbsp;&nbsp;- 密码<br>'&nbsp;&nbsp; "Tel"&nbsp;&nbsp;&nbsp;- 电话/传真<br>'&nbsp;&nbsp; "Mobil"&nbsp;&nbsp;&nbsp;- 手机<br>'&nbsp;&nbsp; "Date"&nbsp;&nbsp;&nbsp;- 日期（格式：yyyy-mm-dd）<br>'&nbsp;&nbsp; "Email"&nbsp;&nbsp;&nbsp;- 电子邮件<br>'&nbsp;&nbsp; "Postalcode"&nbsp;- 邮政编码<br>'&nbsp;&nbsp; "Search"&nbsp;&nbsp;- 搜索关键字<br>'&nbsp;&nbsp; "Int"&nbsp;&nbsp;&nbsp;- 整数<br>'参数strng：要校验的字串<br>'返回值：校验结果，正确返回true，错误返回false<br>'********************************************<br>Function IsVerify(patrn,strng)<br>&nbsp;strng=Trim(strng)<br>&nbsp;Select Case patrn<br>&nbsp;&nbsp;Case "User"&nbsp;'用户名<br>&nbsp;&nbsp;&nbsp;patrn="^[a-z]{1}([a-z0-9]|[._]){2,19}$"<br>&nbsp;&nbsp;Case "Truename"&nbsp;'英文姓名<br>&nbsp;&nbsp;&nbsp;patrn="^[a-zA-Z]{1,30}$"<br>&nbsp;&nbsp;Case "Passwd"&nbsp;&nbsp;'密码<br>&nbsp;&nbsp;&nbsp;patrn="^(\w){6,20}$"<br>&nbsp;&nbsp;Case "Tel"&nbsp;&nbsp;&nbsp;'电话/传真<br>&nbsp;&nbsp;&nbsp;patrn="^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$"<br>&nbsp;&nbsp;Case "Mobil"&nbsp;&nbsp;'手机<br>&nbsp;&nbsp;&nbsp;patrn="^(\d)+[-]?(\d){6,12}$"<br>&nbsp;&nbsp;Case "Date"&nbsp;&nbsp;&nbsp;'日期（格式：yyyy-mm-dd）<br>&nbsp;&nbsp;&nbsp;patrn="^[12]{1}(\d){3}[-][01]?(\d){1}[-][0123]?(\d){1}$"<br>&nbsp;&nbsp;Case "Email"&nbsp;&nbsp;'电子邮件<br>&nbsp;&nbsp;&nbsp;patrn="^((\w)|[-]|[.])+@(((\w)|[-])+[.])+[a-z]{2,4}$"<br>&nbsp;&nbsp;Case "Postalcode"&nbsp;&nbsp;'邮政编码<br>&nbsp;&nbsp;&nbsp;patrn="^[a-z0-9 ]{3,12}$"<br>&nbsp;&nbsp;Case "Search"&nbsp;&nbsp;'搜索关键字<br>&nbsp;&nbsp;&nbsp;patrn="^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/?]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$"<br>&nbsp;&nbsp;Case "Int"&nbsp;&nbsp;'整数<br>&nbsp;&nbsp;&nbsp;patrn="^[1-9]{1}[0-9]{0,6}$"<br>&nbsp;&nbsp;Case "Array"<br>&nbsp;&nbsp;&nbsp;patrn="^[0-9]{1}([0-9]|[\,]){0,150}$"<br>&nbsp;End Select<br>&nbsp;Dim regEx<br>&nbsp;Dim Match<br>&nbsp;Set regEx = New RegExp<br>&nbsp;regEx.Pattern = patrn<br>&nbsp;regEx.IgnoreCase = True<br>&nbsp;regEx.Global = True<br>&nbsp;Matches = regEx.test(strng)<br>&nbsp;IsVerify = Matches<br>&nbsp;Set regEx = Nothing<br>End Function</p>
<p>'********************************************<br>'函数功能：对输入框的特殊字串进行过滤保存<br>'参数strPass：过滤前的字符串<br>'返回值：过滤后的字符串<br>'********************************************<br>Function SQLencode(byVal strPass)<br>&nbsp;strPass = Replace(strPass, "&amp;", "&amp;amp;")<br>&nbsp;strPass = Replace(strPass, "&lt;", "&amp;lt;")<br>&nbsp;strPass = Replace(strPass, "&gt;", "&amp;gt;")<br>&nbsp;strPass = Replace(strPass, """", "&amp;quot;")<br>&nbsp;strPass = Replace(strPass, "'", "'")<br>&nbsp;strPass = Replace(strPass, "&nbsp; ", "　")<br>&nbsp;strPass = Replace(strPass,chr(13)&amp;chr(10),"&lt;br/&gt;")<br>&nbsp;SQLencode = strPass<br>End Function</p>
<p>'********************************************<br>'函数功能：对SQLencode函数过滤后的字符串进行还原<br>'参数strPass：经过过滤后的字符串<br>'返回值：还原的过滤前的字符串<br>'********************************************<br>Function SQLdecode(byVal strPass)<br>&nbsp;If Not isNull(strPass) Then<br>&nbsp;&nbsp;strPass = Replace(strPass, "&amp;lt;", "&lt;")<br>&nbsp;&nbsp;strPass = Replace(strPass, "&amp;gt;", "&gt;")<br>&nbsp;strPass = Replace(strPass, "&amp;quot;","""" )<br>&nbsp;strPass = Replace(strPass, "'","'" )<br>&nbsp;&nbsp;strPass = Replace(strPass,"&lt;br/&gt;",chr(13)&amp;chr(10))<br>&nbsp;End If<br>&nbsp;SQLdecode = strPass<br>End Function</p>
<p>'********************************************<br>'函数功能：生成随机密码（字符为数字与大小写字母集合）<br>'参数length：密码长度<br>'返回值：随机密码<br>'********************************************<br>Function random(length)<br>&nbsp;Dim n,str<br>&nbsp;rnds=""<br>&nbsp;Randomize<br>&nbsp;For i=1 To length<br>&nbsp;&nbsp;n=Int(75*Rnd+48)<br>&nbsp;&nbsp;If (n&gt;57 and n&lt;65) Or (n&gt;90 and n&lt;97) Then<br>&nbsp;&nbsp;&nbsp;i=i-1<br>&nbsp;&nbsp;Else<br>&nbsp;&nbsp;&nbsp;rnds=rnds&amp;Chr(n)<br>&nbsp;&nbsp;End If<br>&nbsp;Next<br>&nbsp;random=rnds<br>End Function</p>
<p>'********************************************<br>'函数功能：对密码进行加密/解密（最大长度为15位）<br>'********************************************<br>Function Encrypt(preString)<br>&nbsp;Dim pwds,s<br>&nbsp;pwds=""<br>&nbsp;s=Left(preString,15)<br>&nbsp;For i=1 To Len(s)<br>&nbsp;&nbsp;seed=170-Asc(Mid(s,i,1))-i<br>&nbsp;&nbsp;pwds=pwds &amp; Chr(seed)<br>&nbsp;Next<br>&nbsp;Encrypt=pwds<br>End Function</p>
<p>'********************************************<br>'函数功能：格式化当前时间字串<br>'参数：无<br>'返回值：返回当前时间的纯数字字符串方式的表示（例如：当前时间2001-10-3 2:34:6，返回字符串"20011003023406"）<br>'********************************************<br>Function TheDate()<br>&nbsp; y=year(date())<br>&nbsp; m=month(date())<br>&nbsp; d=day(date())<br>&nbsp; h=Hour(time())<br>&nbsp; n=Minute(time())<br>&nbsp; s=Second(time())<br>&nbsp; If Len(m)=1 Then m="0"&amp;m<br>&nbsp; If Len(d)=1 Then d="0"&amp;d<br>&nbsp; If Len(h)=1 Then h="0"&amp;h<br>&nbsp; If Len(n)=1 Then n="0"&amp;n<br>&nbsp;If Len(s)=1 Then s="0"&amp;s<br>&nbsp; thedate=y&amp;m&amp;d&amp;h&amp;n&amp;s<br>End Function</p>
<p>'********************************************<br>'函数功能：返回字符串的长度<br>'参数：字符串<br>'返回值：字符串长度<br>'********************************************<br>Function strLen(str)<br>&nbsp;dim p_len<br>&nbsp;p_len=0<br>&nbsp;strlen=0<br>&nbsp;if trim(str)&lt;&gt;"" then<br>&nbsp;&nbsp;p_len=len(trim(str))<br>&nbsp;&nbsp;for xx=1 to p_len<br>&nbsp;&nbsp;&nbsp;if asc(mid(str,xx,1))&lt;0 then<br>&nbsp;&nbsp;&nbsp;&nbsp;strlen=int(strlen) + 2<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;strlen=int(strlen) + 1<br>&nbsp;&nbsp;&nbsp;end if<br>&nbsp;&nbsp;next<br>&nbsp;end if<br>End Function</p>
<p>'********************************************<br>'函数功能：发送邮件通知<br>'参数：字符串<br>'返回值：成功/失败<br>'********************************************<br>Function SendMail(ToAddress, Subject, Body)<br>&nbsp;On Error Resume Next<br>&nbsp;Set objMail = Server.CreateObject("JMail.Message")<br>&nbsp;objMail.From = ADR_Email<br>&nbsp;objMail.FromName = "ADR管理中心"<br>&nbsp;objMail.Subject = Subject<br>&nbsp;objMail.AddRecipient ToAddress<br>&nbsp;objMail.Body = Body<br>&nbsp;If objMail.Send("") Then<br>&nbsp;&nbsp;SendMail = True<br>&nbsp;Else<br>&nbsp;&nbsp;SendMail = False<br>&nbsp;End If<br>&nbsp;If Err.Number&lt;&gt; 0 Then SendMail = False<br>&nbsp;Set objMail = Nothing<br>&nbsp;On Error Goto 0<br>End Function<br>%&gt;<br>***********************************************************************************************<br>***********************************************************************************************</p>
<p><br>//校验用户姓名：只能输入1-30个以字母开头的字串<br>function isTrueName(s)<br>{<br>&nbsp;var patrn=/^[^`~!@#$%^&amp;*()+-=|\\\[\]\{\}:;\'\,.&lt;&gt;/? 0-9]{2,19}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//校验密码：只能输入6-15个字母、数字<br>function isPasswd(s)<br>{<br>&nbsp;var patrn=/^[a-zA-Z0-9]{6,15}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//检验体重<br>function isAvoirdupois(s)<br>{<br>&nbsp;var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br>&nbsp;var patrn2=/^[1-9]{1}$/;<br>&nbsp;var intPart=s.indexOf('.');<br>&nbsp;var decPart=s.lastIndexOf('.');<br>&nbsp;if (intPart==-1 &amp;&amp; patrn.exec(s) &amp;&amp; eval(s)&gt;=2 &amp;&amp; eval(s)&lt;=200) return true<br>&nbsp;if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false<br>&nbsp;if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false<br>&nbsp;if (eval(s)&lt;2 || eval(s)&gt;200) return false<br>&nbsp;return true<br>}</p>
<p>//校验普通电话、传真号码：可以&#8220;+&#8221;开头，除数字外，可含有&#8220;-&#8221;<br>function isTel(s)<br>{<br>&nbsp;var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//校验手机号码：必须以数字开头，除数字外，可含有&#8220;-&#8221;<br>function isMobile(s)<br>{<br>&nbsp;var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//校验地区代码<br>function isAreaCode(s)<br>{<br>&nbsp;var patrn=/^(\d){6}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//校验邮政编码<br>function isPostalCode(s)<br>{<br>&nbsp;var patrn=/^[1-9]{1}(\d){5}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//校验搜索关键字<br>function isSearch(s)<br>{<br>&nbsp;var patrn=/^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/? ]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//校验是否为ip地址<br>function isIP(s)<br>{<br>&nbsp;var patrn=/^[0-9.]{1,20}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//检验页码是否正确<br>function isPage(s)<br>{<br>&nbsp;var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br>&nbsp;if (!patrn.exec(s)) return false<br>&nbsp;return true<br>}</p>
<p>//表单输入值错误提示<br>function vErr(o,s){<br>&nbsp;alert(s);<br>&nbsp;if (o) o.focus();<br>&nbsp;return false;<br>}</p>
<p>//判断单选<br>function chkRadio(o){<br>&nbsp;for (i=0;i&lt;o.length;i++){<br>&nbsp;&nbsp;if (o[i].checked) return true;<br>&nbsp;}<br>&nbsp;return false;<br>}<br>***********************************************************************************************<br>***********************************************************************************************</p>
<p>自己写的一个比较丑的程序，但做报表时候有用<br>/********************************************************************<br>时间：2003.7.31<br>作者：周长武<br>功能：将阿拉伯数字(小写)转化成中文(大写）<br>&nbsp;<br>参数：Num为字符型,小数点之后保留两位,例：Arabia_to_Chinese("1234.06")<br>说明：1.目前本转换仅支持到 拾亿（元） 位，金额单位为元，不能为万元，最小单位为分<br>&nbsp;&nbsp; 2.不支持负数<br>修改区</p>
<p>时间：<br>修改人：<br>原因：</p>
<p>修改区结束<br>********************************************************************/<br>function Arabia_to_Chinese(Num){<br>&nbsp;for(i=Num.length-1;i&gt;=0;i--)<br>&nbsp;{<br>&nbsp;&nbsp;Num = Num.replace(",","")//替换tomoney()中的&#8220;,&#8221;<br>&nbsp;&nbsp;Num = Num.replace(" ","")//替换tomoney()中的空格<br>&nbsp;}<br>&nbsp;Num = Num.replace("￥","")//替换掉可能出现的￥字符<br>&nbsp;if(isNaN(Num)) {&nbsp;//验证输入的字符是否为数字<br>&nbsp;&nbsp;alert("请检查小写金额是否正确");<br>&nbsp;&nbsp;return;<br>&nbsp;}<br>&nbsp;//---字符处理完毕，开始转换，转换采用前后两部分分别转换---//<br>&nbsp;part = String(Num).split(".");<br>&nbsp;newchar = ""; <br>&nbsp;//小数点前进行转化<br>&nbsp;for(i=part[0].length-1;i&gt;=0;i--){<br>&nbsp;if(part[0].length &gt; 10){ alert("位数过大，无法计算");return "";}//若数量超过拾亿单位，提示<br>&nbsp;&nbsp;tmpnewchar = ""<br>&nbsp;&nbsp;perchar = part[0].charAt(i);<br>&nbsp;&nbsp;switch(perchar){<br>&nbsp;&nbsp;&nbsp;&nbsp;case "0": tmpnewchar="零" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "1": tmpnewchar="壹" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "2": tmpnewchar="贰" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "3": tmpnewchar="叁" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "4": tmpnewchar="肆" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "5": tmpnewchar="伍" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "6": tmpnewchar="陆" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "7": tmpnewchar="柒" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "8": tmpnewchar="捌" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "9": tmpnewchar="玖" + tmpnewchar ;break;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;switch(part[0].length-i-1){<br>&nbsp;&nbsp;&nbsp;&nbsp;case 0: tmpnewchar = tmpnewchar +"元" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 1: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 2: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 3: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 4: tmpnewchar= tmpnewchar +"万" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 5: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 6: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 7: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 8: tmpnewchar= tmpnewchar +"亿" ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case 9: tmpnewchar= tmpnewchar +"拾" ;break;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;newchar = tmpnewchar + newchar;<br>&nbsp;}<br>&nbsp;//小数点之后进行转化<br>&nbsp;if(Num.indexOf(".")!=-1){<br>&nbsp;if(part[1].length &gt; 2) {<br>&nbsp;&nbsp;alert("小数点之后只能保留两位,系统将自动截段");<br>&nbsp;&nbsp;part[1] = part[1].substr(0,2)<br>&nbsp;&nbsp;}<br>&nbsp;for(i=0;i&lt;part[1].length;i++){<br>&nbsp;&nbsp;tmpnewchar = ""<br>&nbsp;&nbsp;perchar = part[1].charAt(i)<br>&nbsp;&nbsp;switch(perchar){<br>&nbsp;&nbsp;&nbsp;&nbsp;case "0": tmpnewchar="零" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "1": tmpnewchar="壹" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "2": tmpnewchar="贰" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "3": tmpnewchar="叁" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "4": tmpnewchar="肆" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "5": tmpnewchar="伍" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "6": tmpnewchar="陆" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "7": tmpnewchar="柒" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "8": tmpnewchar="捌" + tmpnewchar ;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;case "9": tmpnewchar="玖" + tmpnewchar ;break;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if(i==0)tmpnewchar =tmpnewchar + "角";<br>&nbsp;&nbsp;if(i==1)tmpnewchar = tmpnewchar + "分";<br>&nbsp;&nbsp;newchar = newchar + tmpnewchar;<br>&nbsp;}<br>&nbsp;}<br>&nbsp;//替换所有无用汉字<br>&nbsp;while(newchar.search("零零") != -1)<br>&nbsp;&nbsp;newchar = newchar.replace("零零", "零");<br>&nbsp;newchar = newchar.replace("零亿", "亿");<br>&nbsp;newchar = newchar.replace("亿万", "亿");<br>&nbsp;newchar = newchar.replace("零万", "万");<br>&nbsp;newchar = newchar.replace("零元", "元");<br>&nbsp;newchar = newchar.replace("零角", "");<br>&nbsp;newchar = newchar.replace("零分", "");</p>
<p>&nbsp;if (newchar.charAt(newchar.length-1) == "元" || newchar.charAt(newchar.length-1) == "角")<br>&nbsp;&nbsp;newchar = newchar+"整"<br>&nbsp;return newchar;<br>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>//====================================表单类================================<br>// 文件上传过程中判断文件类型<br>/*<br>&lt;input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])"&gt;<br>*/</p>
<p>//表单的值不能为空<br>function isNull(elem){<br>&nbsp; //var pattern=/^\s+|\s+$/;<br>&nbsp; if(elem.replace(/(^\s+|\s$)/g, "")==""){<br>&nbsp; return false;<br>&nbsp; }else{<br>&nbsp; return true;<br>&nbsp; }<br>}<br>//不能超过imax字符<br>function imax(elem){<br>&nbsp;if(elem.length&gt;imax){<br>&nbsp;&nbsp;return false;<br>&nbsp;}else{<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>}<br>//不能少于imix字符<br>function imix(elem){<br>&nbsp;if(elem.length&lt;imix){<br>&nbsp;&nbsp;return false;<br>&nbsp;}else{<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>}<br>//输入为中文判断<br>function isChinese(elem){<br>&nbsp; var pattern=/[^\x00-\xff]/g;<br>&nbsp; if(pattern.test(elem)){<br>&nbsp;&nbsp;&nbsp;&nbsp; //包含中文<br>&nbsp; return false;<br>&nbsp; }else{<br>&nbsp;&nbsp;&nbsp; //不包含中文<br>&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp; }<br>}</p>
<p>/* *********************************************************************************************************************<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;script language="javascript"&gt;<br>&lt;!--<br>function isChinese(elem){<br>&nbsp; var pattern=/[^\x00-\xff]/g;<br>&nbsp; if(pattern.test(elem)){<br>&nbsp;&nbsp;&nbsp;&nbsp; //包含中文<br>&nbsp; return false;<br>&nbsp; }else{<br>&nbsp;&nbsp;&nbsp; //不包含中文<br>&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp; }<br>}</p>
<p>function isReady(){<br>&nbsp; if(isChinese(str.chinese.value)==false){<br>&nbsp;&nbsp;&nbsp;&nbsp; alert("不能输入中文");<br>&nbsp; str.chinese.focus();<br>&nbsp; return false;<br>&nbsp; }<br>&nbsp; return true;<br>}<br>--&gt;<br>&lt;/script&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;form name="str" onSubmit="return isReady();"&gt;<br>&lt;input type="text" name="chinese"&gt;<br>&lt;input type="submit" value="中文"&gt;<br>&lt;/form&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br>**************************************************************************************************************************** */</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>发一个将阿拉伯数字转换成中文大写的函数:<br>function Chinese(num)&nbsp; //将阿拉伯数字翻译成中文的大写数字<br>{<br>&nbsp;&nbsp;&nbsp; if(!/^\d*(\.\d*)?$/.test(num)){alert("Number is wrong!"); return "Number is wrong!";}</p>
<p>&nbsp;&nbsp;&nbsp; var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");<br>&nbsp;&nbsp;&nbsp; var BB = new Array("","拾","佰","仟","萬","億","点","");<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";</p>
<p>&nbsp;&nbsp;&nbsp; for(var i=a[0].length-1; i&gt;=0; i--)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(k)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 0 : re = BB[7] + re; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; re = BB[4] + re; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(k%4 == 2 &amp;&amp; a[0].charAt(i+2) != 0 &amp;&amp; a[0].charAt(i+1) == 0) re = AA[0] + re;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;<br>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; if(a.length&gt;1) //加上小数部分(如果有小数部分)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; re += BB[6];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=0; i&lt;a[1].length; i++) re += AA[a[1].charAt(i)];<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return re;<br>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>//验证IP地址<br>function isIP3(elem){<br>&nbsp; var pattern=/(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])/;<br>&nbsp; if(pattern.test(elem)){<br>&nbsp;&nbsp;&nbsp; return true;<br>&nbsp; }else{<br>&nbsp;//alert("ip格式不正确");<br>&nbsp;&nbsp;&nbsp; return false;<br>&nbsp; }<br>&nbsp;}</p>
<p>//&nbsp;&nbsp; /////////////////////////////////////////////////end IP ////////////</p>
<p><br>//移动电话(手机）<br>//样式:13531214732或013531214732<br>function isMoveTel(elem){<br>&nbsp;var pattern=/^0{0,1}13[0-9]{9}$/;<br>&nbsp;if(pattern.test(elem)){<br>&nbsp;&nbsp;return true;<br>&nbsp;}else{<br>&nbsp;&nbsp;//elert("电话号码不正确");<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
<p>//固定电话(小灵通。。。。家庭电话)<br>function isFixTel(elem){<br>&nbsp;var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/;<br>&nbsp;if(pattern.test(elem)){<br>&nbsp;&nbsp;return true;<br>&nbsp;}else{<br>&nbsp;&nbsp;//alert("电话号码格式不正确");<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
<p>//电话号码(以上二种)<br>function&nbsp; isTel(elem){<br>&nbsp;var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;<br>&nbsp;if(pattern.test(elem)){<br>&nbsp;&nbsp;return true;<br>&nbsp;}else{<br>&nbsp;&nbsp;//elert("电话号码格式不正确");<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}</p>
<p>测试发现错误可以告诉我：QQ50707640&nbsp; Email:noujie@sina.com 愿交天下所有喜欢程序的朋友</p>
<p>&nbsp;</p>
<p><br>【1、最基本的弹出窗口代码】 <br>其实代码非常简单： <br>&lt;SCRIPT LANGUAGE="javascript"&gt; <br>&lt;!-- <br>window.open ('page.html') <br>--&gt; <br>&lt;/SCRIPT&gt; <br>因为这是一段javascripts代码，所以它们应该放在&lt;SCRIPT LANGUAGE="javascript"&gt;之间。&lt;!-- 和 --&gt;是对一些版本低的浏览器起作用，在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。 <br>window.open ('page.html') 用于控制弹出新的窗口page.html，如果page.html不与主窗口在同一路径下，前面应写明路径，绝对路径(http://)和相对路径(../)均可。 <br>用单引号和双引号都可以，只是不要混用。 <br>这一段代码可以加入HTML的任意位置，&lt;head&gt;和&lt;/head&gt;之间可以，&lt;body&gt;间&lt;/body&gt;也可以，越前越早执行，尤其是页面代码长，又想使页面早点弹出就尽量往前放。也可以，越前越早执行，尤其是页面代码长，又想使页面早点弹出就尽量往前放。 <br>【2、经过设置后的弹出窗口】 <br>下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。我们来定制这个弹出的窗口的外观，尺寸大小，弹出的位置以适应该页面的具体情况。 <br>&lt;SCRIPT LANGUAGE="javascript"&gt; <br>&lt;!-- <br>window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,status=no') <br>//写成一行 <br>--&gt; <br>&lt;/SCRIPT&gt; <br>参数解释： <br>&lt;SCRIPT LANGUAGE="javascript"&gt; js脚本开始； <br>window.open 弹出新窗口的命令； <br>'page.html' 弹出窗口的文件名； <br>'newwindow' 弹出窗口的名字（不是文件名），非必须，可用空''代替； <br>height=100 窗口高度； <br>width=400 窗口宽度； <br>top=0 窗口距离屏幕上方的象素值； <br>left=0 窗口距离屏幕左侧的象素值； <br>toolbar=no 是否显示工具栏，yes为显示； <br>menubar，scrollbars 表示菜单栏和滚动栏。 <br>resizable=no 是否允许改变窗口大小，yes为允许； <br>location=no 是否显示地址栏，yes为允许； <br>status=no 是否显示状态栏内的信息（通常是文件已经打开），yes为允许； <br>&lt;/SCRIPT&gt; js脚本结束 <br>【3、用函数控制弹出窗口】 <br>下面是一个完整的代码： <br>&lt;html&gt; <br>&lt;head&gt; <br>&lt;script LANGUAGE="JavaScript"&gt; <br>&lt;!-- <br>function openwin() { <br>window.open ("page.html", "newwindow", "height=100, width=400, toolbar=no,menubar=no, scrollbars=no, resizable=no, location=no, status=no") <br>//写成一行 <br>} <br>//--&gt; <br>&lt;/script&gt; <br>&lt;/head&gt; <br>&lt;body onload="openwin()"&gt; <br>...任意的页面内容... <br>&lt;/body&gt; <br>&lt;/html&gt; <br>　 这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。 <br>怎么调用呢？ <br>　 方法一：&lt;body onload="openwin()"&gt; 浏览器读页面时弹出窗口； <br>　 方法二：&lt;body onunload="openwin()"&gt; 浏览器离开页面时弹出窗口； <br>　 方法三：用一个连接调用：&lt;a href="#" onclick="openwin()"&gt;打开一个窗口&lt;/a&gt; <br>注意：使用的&#8220;#&#8221;是虚连接。 <br>　 方法四：用一个按钮调用：&lt;input type="button" onclick="openwin()" value="打开窗口"&gt; <br>【4、同时弹出2个窗口】 <br>对源代码稍微改动一下： <br>&lt;script LANGUAGE="JavaScript"&gt; <br>&lt;!-- <br>function openwin() { <br>window.open ("page.html", "newwindow", "height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no,status=no") <br>//写成一行 <br>window.open ("page2.html", "newwindow2", "height=100, width=100, top=100,left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no,status=no") <br>//写成一行 <br>} <br>//--&gt; <br>&lt;/script&gt; <br>　 为避免弹出的2个窗口覆盖，用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。 <br>注意：2个窗口的name(newwindows和newwindow2)不要相同，或者干脆全部为空。OK？ </p>
<p>&nbsp;</p>
<p>【5、主窗口打开文件1.htm，同时弹出小窗口page.html】 <br>如下代码加入主窗口&lt;head&gt;区： <br>&lt;script language="javascript"&gt; <br>&lt;!-- <br>function openwin() { <br>window.open("page.html","","width=200,height=200") <br>} <br>//--&gt; <br>&lt;/script&gt; <br>加入&lt;body&gt;区： <br>&lt;a href="1.htm" onclick="openwin()"&gt;open&lt;/a&gt;即可。 <br>【6、弹出的窗口之定时关闭控制】 <br>下面我们再对弹出的窗口进行一些控制，效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中，可不是主页面中，否则...)，让它10秒后自动关闭是不是更酷了？ <br>首先，将如下代码加入page.html文件的&lt;head&gt;区： <br>&lt;script language="JavaScript"&gt; <br>function closeit() { <br>setTimeout("self.close()",10000) //毫秒 <br>} <br>&lt;/script&gt; <br>然后，再用&lt;body onload="closeit()"&gt; 这一句话代替page.html中原有的&lt;BODY&gt;这一句就可以了。(这一句话千万不要忘记写啊！这一句的作用是调用关闭窗口的代码，10秒钟后就自行关闭该窗口。) <br>【7、在弹出窗口中加上一个关闭按钮】 <br>&lt;FORM&gt; <br>&lt;INPUT TYPE='BUTTON' VALUE='关闭' onClick='window.close()'&gt; <br>&lt;/FORM&gt; <br>呵呵，现在更加完美了！ <br>【8、内包含的弹出窗口-－－一个页面两个窗口】 <br>上面的例子都包含两个窗口，一个是主窗口，另一个是弹出的小窗口。通过下面的例子，你可以在一个页面内完成上面的效果。 <br>&lt;html&gt; <br>&lt;head&gt; <br>&lt;SCRIPT LANGUAGE="JavaScript"&gt; <br>function openwin() <br>{ <br>OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no");<br>//写成一行 <br>OpenWindow.document.write("&lt;TITLE&gt;例子&lt;/TITLE&gt;") <br>OpenWindow.document.write("&lt;BODY BGCOLOR=#ffffff&gt;") <br>OpenWindow.document.write("&lt;h1&gt;Hello!&lt;/h1&gt;") <br>OpenWindow.document.write("New window opened!") <br>OpenWindow.document.write("&lt;/BODY&gt;") <br>OpenWindow.document.write("&lt;/HTML&gt;") <br>OpenWindow.document.close() <br>} <br>&lt;/SCRIPT&gt; <br>&lt;/head&gt; <br>&lt;body&gt; <br>&lt;a href="#" onclick="openwin()"&gt;打开一个窗口&lt;/a&gt; <br>&lt;input type="button" onclick="openwin()" value="打开窗口"&gt; <br>&lt;/body&gt; <br>&lt;/html&gt; <br>看看OpenWindow.document.write()里面的代码不就是标准的HTML吗？只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用OpenWindow.document.close()结束啊。 <br>【9、终极应用--弹出的窗口之Cookie控制】 <br>回想一下，上面的弹出窗口虽然酷，但是有一点小毛病(沉浸在喜悦之中，一定没有发现吧？)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页)，那么每次刷新这个页面，窗口都会弹出一次，是不是非常烦人？:-( <br>有解决的办法吗？当然有！我们使用cookie来控制一下就可以了。首先，将如下代码加入主页面HTML的&lt;HEAD&gt;区：<br>&lt;script&gt; <br>function openwin(){ <br>window.open("page.html","","width=200,height=200") <br>} <br>function get_cookie(Name) { <br>var search = Name + "=" <br>var returnvalue = ""; <br>if (document.cookie.length &gt; 0) { <br>offset = document.cookie.indexOf(search) <br>if (offset != -1) { <br>offset += search.length <br>end = document.cookie.indexOf(";", offset); <br>if (end == -1) <br>end = document.cookie.length; <br>returnvalue=unescape(document.cookie.substring(offset, end)) <br>} <br>} <br>return returnvalue; <br>}<br>function loadpopup(){ <br>if (get_cookie('popped')==''){ <br>openwin() <br>document.cookie="popped=yes" <br>} <br>} <br>&lt;/script&gt; <br>　 然后，用&lt;body onload="loadpopup()"&gt;（注意不是openwin而是loadpop啊！）替换主页面中原有的&lt;BODY&gt;这一句即可。你可以试着刷新一下这个页面或重新进入该页面，窗口再也不会弹出了。真正的Pop-Only-Once！</p>
<img src ="http://www.blogjava.net/moonboat/aggbug/110150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-12 13:22 <a href="http://www.blogjava.net/moonboat/articles/110150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页常用特效整理</title><link>http://www.blogjava.net/moonboat/articles/110149.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Thu, 12 Apr 2007 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110149.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110149.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110149.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110149.html</trackback:ping><description><![CDATA[网页常用特效整理：初级篇 <br>&nbsp;<br>　　初级篇 <br>&nbsp;<br>　　1．让文字不停地滚动 <br>&nbsp;<br>　　＜MARQUEE＞滚动文字＜/MARQUEE＞ <br>&nbsp;<br>　　2．记录并显示网页的最后修改时间 <br>&nbsp;<br>　　＜script language=javascript＞ <br>　　document.write("最后更新时间: " + document.lastModified + "") <br>　　＜/script＞ <br>&nbsp;<br>　　3．关闭当前窗口 <br>&nbsp;<br>　　＜a href="/"onClick="javascript :window.close();return false;"＞关闭窗口＜/a＞ <br>&nbsp;<br>　　4．2秒后关闭当前页 <br>&nbsp;<br>　　＜script language="javascript"＞ <br>　　＜!-- <br>　　setTimeout('window.close();',2000); <br>　　--＞ <br>　　＜/script＞ <br>&nbsp;<br>　　5．2秒后载入指定网页 <br>&nbsp;<br>　　＜head＞ <br>　　＜meta http-equiv="refresh" content="2;URL=http://你的网址"＞ <br>　　＜/head＞ <br>&nbsp;<br>　　6．添加到收藏夹 <br>&nbsp;<br>　　＜Script Language="javascript"＞ <br>　　function bookmarkit() <br>　　{ <br>　　window.external.addFavorite('http://你的网址','你的网站名称') <br>　　} <br>　　if (document.all)document.write('＜a href="#" onClick="bookmarkit()"＞加入收藏夹＜/a＞') <br>　　＜/Script＞ <br>&nbsp;<br>　　7．让超链接不显示下划线 <br>&nbsp;<br>　　＜style type="text/css"＞ <br>　　＜!- <br>　　a:link <br>　　a:hover <br>　　a:visited <br>　　-＞ <br>　　＜/style＞ <br>&nbsp;<br>　　8．禁止鼠标右键的动作 <br>&nbsp;<br>　　＜Script Language = "javascript"＞ <br>　　function click() { if (event.button==2||event.button==3) <br>　　{ <br>　　alert('禁止鼠标右键'); <br>　　} <br>　　document.onmousedown=click // --＞ <br>　　＜/Script＞ <br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 或：&lt;script language="javascript"&gt; <br>function click() { if (event.button==2) <br>{alert('*^_^*'); } } document.onmousedown=click // --&gt; <br>&lt;/script&gt; <br>&nbsp;<br>　　9．设置该页为首页 <br>&nbsp;<br>　　＜body bgcolor="#FFFFFF" text="#000000"＞ <br>　　＜!-- 网址：http://你的网址--＞ <br>　　＜a class="chlnk" style="cursor:hand" HREF <br>　　onClick="this.style.behavior='url(#default#homepage)'; <br>　　this.setHomePage('你的网站名称);"＞＜font color="000000" size="2" face="宋体"＞设为首页＜/font＞＜/a＞ <br>　　＜/body＞ <br>------------------------------------------------------------------------ <br>&nbsp;<br>网页常用特效整理：中级篇 <br>&nbsp;<br>&nbsp;<br>&nbsp;<br>　　中级篇 <br>&nbsp;<br>　　1．节日倒计时 <br>&nbsp;<br>　　＜Script Language="javascript"＞ <br>　　var timedate= new Date("October 1,2002"); <br>　　var times="国庆节"; <br>　　var now = new Date(); <br>　　var date = timedate.getTime() - now.getTime(); <br>　　var time = Math.floor(date / (1000 * 60 * 60 * 24)); <br>　　if (time ＞= 0) <br>　　document.write("现在离"+times+"还有: "+time +"天")＜/Script＞ <br>&nbsp;<br>　　2．单击按钮打印出当前页 <br>&nbsp;<br>　　＜Script Language="javascript"＞ <br>　　＜!-- Begin <br>　　if (window.print) { <br>　　document.write('＜form＞' <br>　　+ '＜input type=button name=print value="打印本页" ' <br>　　+ 'onClick="javascript :window.print()"＞＜/form＞'); <br>　　} <br>　　// End --＞ <br>　　＜/Script＞ <br>&nbsp;<br>　　3．单击按钮&#8216;另存为'当前页 <br>&nbsp;<br>　　＜input type="button" name="Button" value="保存本页" <br>　　onClick="document.all.button.ExecWB(4,1)"＞ <br>　　＜object id="button" <br>　　width=0 <br>　　height=0 <br>　　classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"＞ <br>　　＜embed width="0" height="0"＞＜/embed＞ <br>　　＜/object＞ <br>&nbsp;<br>　　4．显示系统当前日期 <br>&nbsp;<br>　　＜script language=javascript＞ <br>　　today=new Date(); <br>　　function date(){ <br>　　this.length=date.arguments.length <br>　　for(var i=0;i＜this.length;i++) <br>　　this[i+1]=date.arguments } <br>　　var d=new date("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); <br>　　document.write( <br>　　"＜font color=##000000 style='font-size:9pt;font-family: 宋体'＞ ", <br>　　today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", <br>　　d[today.getDay()+1],"＜/font＞" ); <br>　　＜/script＞ <br>--------------------------------------------------------------- <br>&nbsp;<br>高级篇 <br>&nbsp;<br>　　1．不同时间段显示不同问候语 <br>&nbsp;<br>　　＜Script Language="javascript"＞ <br>　　＜!-- <br>　　var text=""; day = new Date( ); time = day.getHours( ); <br>　　if (( time＞=0) &amp;&amp; (time ＜ 7 )) <br>　　　　text="夜猫子，要注意身体哦！ " <br>　　if (( time ＞= 7 ) &amp;&amp; (time ＜ 12)) <br>　　　　text="今天的阳光真灿烂啊，你那个朋友呢？" <br>　　if (( time ＞= 12) &amp;&amp; (time ＜ 14)) <br>　　　　text="午休时间。您要保持睡眠哦！" <br>　　if (( time ＞=14) &amp;&amp; (time ＜ 18)) <br>　　　　text="祝您下午工作愉快！ " <br>　　if ((time ＞= 18) &amp;&amp; (time ＜= 22)) <br>　　　　text="您又来了，可别和MM聊太久哦！" <br>　　if ((time ＞= 22) &amp;&amp; (time ＜ 24)) <br>　　　　text="您应该休息了！" <br>　　document.write(text) <br>　　//---＞ <br>　　＜/Script＞ <br>&nbsp;<br>　　2．水中倒影效果 <br>&nbsp;<br>　　＜img id="reflect" src="你自己的图片文件名" width="175" height="59"＞ <br>　　＜script language="javascript"＞ <br>　　function f1() <br>　　{ <br>　　　　setInterval("mdiv.filters.wave.phase+=10",100); <br>　　} <br>　　if (document.all) <br>　　{ <br>　　　　document.write('＜img id=mdiv src="'+document.all.reflect.src+'" <br>　　　　style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()"＞') <br>　　　　window.onload=f1 <br>　　} <br>　　＜/script＞ <br>&nbsp;<br>　　3．慢慢变大的窗口 <br>&nbsp;<br>　　＜Script Language="javascript"＞ <br>　　＜!-- <br>　　var Windowsheight=100 <br>　　var Windowswidth=100 <br>　　var numx=5 <br>　　function openwindow(thelocation){ <br>　　temploc=thelocation <br>　　if <br>　　(!(window.resizeTo&amp;&amp;document.all)&amp;&amp;!(window.resizeTo&amp;&amp;document.getElementById)) <br>　　{ <br>　　　　window.open(thelocation) <br>　　　　return <br>　　} <br>　　windowsize=window.open("","","scrollbars") <br>　　windowsize.moveTo(0,0) <br>　　windowsize.resizeTo(100,100) <br>　　tenumxt() <br>　　} <br>　　function tenumxt(){ <br>　　if (Windowsheight＞=screen.availHeight-3) <br>　　　　numx=0 <br>　　windowsize.resizeBy(5,numx) <br>　　Windowsheight+=5 <br>　　Windowswidth+=5 <br>　　if (Windowswidth＞=screen.width-5) <br>　　{ <br>　　　　windowsize.location=temploc <br>　　　　Windowsheight=100 <br>　　　　Windowswidth=100 <br>　　　　numx=5 <br>　　　　return <br>　　} <br>　　setTimeout("tenumxt()",50) <br>　　} <br>　　//--＞ <br>　　＜/script＞ <br>　　＜p＞＜a href="javascript :openwindow('http://www.ccjol.com')"＞进入＜/a＞ <br>&nbsp;<br>　　4．改变IE地址栏的IE图标 <br>&nbsp;<br>　　我们要先做一个16*16的icon（图标文件），保存为index.ico。把这个图标文件上传到根目录下并在首页＜head＞＜/head＞之间加上如下代码： <br>&nbsp;<br>　　＜link REL = "Shortcut Icon" href="/index.ico"＞ <br>&nbsp;<br>5．让网页随意后退 <br>&nbsp;<br>　　＜a href="javascript :history.go(-X)"＞X＜/a＞ //把X换成你想要后退在页数 <br>　　 //把"-"变成"+"就为前进 <br>&nbsp;<br>　　6．鼠标指向时弹出信息框 <br>&nbsp;<br>　　在＜body＞＜/body＞之间加上如下代码： <br>&nbsp;<br>　　＜a href onmouseover="alert('弹出信息！')"＞显示的链接文字＜/a＞ <br>&nbsp;<br>　　7．单击鼠标右键弹出添加收藏夹对话框 <br>&nbsp;<br>　　在＜body＞＜/body＞之间加上如下代码： <br>&nbsp;<br>　　＜Script Language=javascript＞ <br>　　if (document.all) <br>　　document.body.onmousedown=new Function("if (event.button==2||event.button==3) <br>　　window.external.addFavorite('您的网址','您的网站名称)") <br>　　＜/Script＞ <br>&nbsp;<br>　　8．随机变换背景图象（一个可以刷新心情的特效） <br>&nbsp;<br>　　在＜head＞＜/head＞之间加上如下代码： <br>&nbsp;<br>　　＜Script Language="javascript"＞ <br>　　image = new Array(4); //定义image为图片数量的数组 <br>　　image [0] = 'tu0.gif' //背景图象的路径 <br>　　image [1] = 'tu1.gif' <br>　　image [2] = 'tu2.gif' <br>　　image [3] = 'tu3.gif' <br>　　image [4] = 'tu4.gif' <br>　　number = Math.floor(Math.random() * image.length); <br>　　document.write("＜BODY background="/+image[number]+"＞"); <br>　　＜/Script＞ <br>&nbsp;<br>　　9．鼠标一碰就给颜色看的链接 <br>&nbsp;<br>　　在＜body＞＜/body＞之间加上如下代码： <br>&nbsp;<br>　　＜p onMouseMove="anniu()"＞你敢碰我，我就给点颜色你看！＜/p＞ <br>　　＜Script Language = "VBScript"＞ <br>　　sub anniu <br>　　document.fgColor=int(256*256*256*rnd) <br>　　end sub <br>　　＜/Script＞ <br>&nbsp;<br>　　10．从天而降并有幻影效果的窗口 <br>&nbsp;<br>　　＜head＞ <br>　　＜Script language="javascript"＞ <br>　　function move(x) { <br>　　if(self.moveBy){ <br>　　self.moveBy (0,-800); <br>　　for(i = x; i ＞ 0; i--) <br>　　{ <br>　　self.moveBy(0,3); <br>　　} <br>　　for(j = 200; j ＞ 0; j--){ //如果你认为窗口抖动厉害，就200换成个位数 <br>　　self.moveBy(0,j); <br>　　self.moveBy(j,0); <br>　　self.moveBy(0,-j); <br>　　self.moveBy(-j,0); <br>　　} <br>　　} <br>　　} <br>　　＜/Scrip＞ <br>　　＜body bgColor=#ffffff onload=move(280)＞ <br>　　＜/body＞ <br>　　＜/head＞ <br>&nbsp;<br>　　11．表格的半透明显示效果 <br>&nbsp;<br>　　在＜head＞＜/head＞之间加上如下代码： <br>&nbsp;<br>　　＜style＞ <br>　　.alpha{filter: Alpha(Opacity=50)} //50表示50%的透明度 <br>　　＜/style＞ <br>&nbsp;<br>　　在＜body＞＜/body＞之间加上如下代码： <br>　　＜table border="1" width="100" height="62" class="alpha" bgcolor="#F2A664" ＞ <br>　　＜tr＞ <br>　　＜td width="100%" height="62"＞ <br>　　＜div align="center"＞很酷吧!＜/div＞ <br>　　＜/td＞ <br>　　＜/tr＞ <br>　　＜/table＞ <br>&nbsp;<br>------------------------------------------------------------------ <br>&nbsp;<br>1、禁止另存为 <br>&lt;NOs cript&gt;&lt;IFRAME src="/-.html&gt;";&lt;/IFRAME&gt;&lt;/NOs cript&gt; <br>加入HEAD里 <br>&nbsp;<br>2、禁止右键 <br>&lt;body oncontextmenu="return false"&gt; <br>或 <br>&lt;s cript language="Javas cript"&gt; <br>&lt;!-- <br>&nbsp;<br>if (window.Event) <br>document.captureEvents(Event.MOUSEUP); <br>&nbsp;<br>function nocontextmenu() <br>{ <br>event.cancelBubble = true <br>event.returnvalue = false; <br>&nbsp;<br>return false; <br>} <br>&nbsp;<br>function norightclick(e) <br>{ <br>if (window.Event) <br>{ <br>if (e.which == 2 || e.which == 3) <br>return false; <br>} <br>else <br>if (event.button == 2 || event.button == 3) <br>{ <br>event.cancelBubble = true <br>event.returnvalue = false; <br>return false; <br>} <br>&nbsp;<br>} <br>&nbsp;<br>document.oncontextmenu = nocontextmenu; // for IE5+ <br>document.onmousedown = norightclick; // for all others <br>//--&gt; <br>&lt;/s cript&gt; <br>&nbsp;<br>3、让页面文字不被选中和复制 <br>&lt;body onselectstart="return false"&gt; <br>或 <br>&lt;body oncopy=alert('对不起，禁止复制！');event.returnvalue=false;&gt; <br>&nbsp;<br>4、锁定状态栏文字防止显示地址 <br>&lt;body onmouseover="self.status='文字';return true"&gt; <br>&nbsp;
<p>7、禁止图片下载 <br>在&lt;body......&gt;这里的最后加入： <br>oncontextmenu="return false" ondragstart="return false" onselectstart="return false" scroll="auto" <br>&nbsp;<br>5、禁止缓存 <br>&lt;meta http-equiv="Expires" CONTENT="0"&gt; <br>&lt;meta http-equiv="Cache-Control" CONTENT="no-cache"&gt; <br>&lt;meta http-equiv="Pragma" CONTENT="no-cache"&gt; <br>加在HEAD里 <br>&nbsp;<br>6、使用包含页面 <br>加密所包含页面地址，使用工具 htmlguardian5.3.5 <br>目前功能最强的html代码加密软件,可以保护连接和html代码被盗。1.锁右键。2.禁鼠标圈选。3.不允许离线使用。4.密码保护。5.不显示状态栏url地址。6.全代码 或 局部代码保护。7.链接跟踪。8.禁止打印(IE5+)。9.压缩代码( 未加密前)。10.可加密*.html *.js *.asp *.vbs。11.两种不同加密算法。12.加密 frameset 结构。13.某些功能支持几个不同版本的浏览器。 <br>　 <br>&nbsp;<br>------------------------------------------------------------------------- <br>&nbsp;<br>01.下载flash我的三种方法： <br>--查看源文件，找出flash的绝对路径，复制，在flashget（或蚂蚁）中点任务 <br>，然后点新建下载任务即可。 <br>--在IE的临时文件夹Temporary Internet Files里把所有的东西都删掉，然后 <br>&nbsp;<br>刷新你想要下载flash的网页，即可得到你所要的flash <br>--使用外部软件，推荐使用Flash Catcher,安装后只需在你所要下载的flash上右键，save即可。 <br>&nbsp;</p>
<p>02.让你的网页无法另存为 <br>&lt;noscript&gt;&lt;iframe src="/*&gt;";&lt;/iframe&gt;&lt;/noscript&gt; <br>&nbsp;<br>03.让IFRAME框架内的文档的背景透明 <br>&lt;iframe src="about:&lt;body style='background:transparent'&gt;" <br>&nbsp;<br>allowtransparency&gt;&lt;/iframe&gt; <br>&nbsp;<br>04.禁止右键： <br>&lt;body oncontextmenu="return false" ondragstart="return false" <br>&nbsp;<br>onselectstart ="return false" onselect="document.selection.empty()" <br>&nbsp;<br>oncopy="document.selection.empty()" onbeforecopy="return <br>false"onmouseup="document.selection.empty()"&gt; <br>&nbsp;<br>05.进入页面后立即自动刷新？ <br>&lt;meta http-equiv="refresh" <br>&nbsp;<br>content="120;url=http://www.wodutom.com/cn083"&gt; <br><a href="http://www.wodutom.com/cn083"><font color=#1a8bc8>http://www.wodutom.com/cn083</font></a>,这是你自己的网址。 <br>&nbsp;<br>06.打开窗口即最大化 <br>&lt;script language="javascript"&gt; <br>&lt;!-- Begin <br>self.moveTo(0,0) <br>self.resizeTo(screen.availWidth,screen.availHeight) <br>// End --&gt; <br>&lt;/script&gt; <br>&nbsp;<br>07.能隐藏IFRAME的滚动条吗？我知道的三种方法: <br>1. 设置iframe scrolling="no" <br>2. 被包含页body应用overflow:hidden <br>3. 被包含页的body标签加scroll="no" <br>&nbsp;<br>08.加入背景音乐 <br>&lt;bgsound src="mid/windblue[1].mid" loop="-1"&gt; 只适用于IE <br>&nbsp;<br>&lt;embed src="music.mid" autostart="true" loop="true" hidden="true"&gt; <br>&nbsp;<br>对Netscape ,IE 都适用 <br>&nbsp;<br>09.嵌入网页 <br>&lt;iframe name="tt" src="/01a.html" width="450" height="287" <br>&nbsp;<br>scrolling="Auto" frameborder="0"&gt;&lt;/iframe&gt; <br>&nbsp;<br>10.跳转 <br>&lt;meta http-equiv="refresh" content="3;URL=list.htm"&gt; <br>&nbsp;<br>11.滚动 <br>&lt;MARQUEE direction=up height=146 onmouseout=start() <br>&nbsp;<br>onmouseover=stop() <br>scrollAmount=4&gt;&lt;/marquee&gt; <br>&nbsp;<br>12.细线分隔线 <br>&lt;hr noshade size=0 color=#C0C0C0&gt; <br>&nbsp;<br>13.过度方式 <br>&lt;meta http-equiv="Page-Exit" <br>&nbsp;<br>content="revealTrans(Duration=3,Transition=5)"&gt; <br>Duration的值为网页动态过渡的时间，单位为秒。 <br>Transition是过渡方式，它的值为0到23，分别对应24种过渡方式。如下表： <br>0 盒状收缩 1 盒状放射 <br>2 圆形收缩 3 圆形放射 <br>4 由下往上 5 由上往下 <br>6 从左至右 7 从右至左 <br>8 垂直百叶窗 9 水平百叶窗 <br>10 水平格状百叶窗 11垂直格状百叶窗 <br>12 随意溶解 13从左右两端向中间展开 <br>14从中间向左右两端展开 15从上下两端向中间展开 <br>16从中间向上下两端展开 17 从右上角向左下角展开 <br>18 从右下角向左上角展开 19 从左上角向右下角展开 <br>20 从左下角向右上角展开 21 水平线状展开 <br>22 垂直线状展开 23 随机产生一种过渡方式 <br>&nbsp;</p>
<p>15.如何控制横向和纵向滚动条的显隐？ <br>&lt;body style="overflow-y:hidden"&gt; 去掉x轴 <br>&lt;body style="overflow-x:hidden"&gt; 去掉y轴 <br>&lt;body scroll="no"&gt;不显 <br>&nbsp;<br>16.怎样在 FrontPage2000 中加入 Flash 动画? <br>在 FrontPage2000 中,点击[插入]-&gt;[高级]-&gt;[插件]，在弹出的窗口中，设置 <br>&nbsp;<br>一下 Flash 文件的大小及其它信息，确定即可。 <br>&nbsp;<br>17.加入注释的格式是： 　　　 <br>〈!-［注释内容...］--〉 <br>&nbsp;</p>
<p>18.怎样在网页中加入 E-mail 链接并显示预定的主题? <br>〈A href="<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#69;&#109;&#97;&#105;&#108;&#104;&#111;&#115;&#116;&#64;&#50;&#54;&#51;&#46;&#110;&#101;&#116;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;"><font color=#1a8bc8>mailto:Emailhost@263.net?subject</font></a>=主题"〉......〈/a〉 <br>&nbsp;</p>
<p>19.定义本网页关键字，可以在〈Head〉〈/Head〉中加入如下代码： 　 <br>〈meta name="Keywords" content="china,enterprise,business,net"〉 　　 <br>Content 中所包含的就是关键字,你可以自行设置。 　　 <br>这里有个技巧,你可以重复某一个单词,这样可以提高自己网站的排行位置,如： <br>〈meta name="Keywords" content="china,china,china,china"〉 <br>&nbsp;<br>20.IE5.0 的部分快捷键： <br>A:打开查找功能：Ctrl+F <br>关闭浏览器窗口：Ctrl+W <br>打开地址栏下拉列表框：F4 <br>刷 新：F5 <br>将当前Web页保存到收藏夹列表：Ctrl+D <br>打开当前 IE 窗口的一个拷贝：Ctrl+N <br>停止下载当前网页：Esc <br>光标迅速移动到网页的开头：Home <br>光标迅速移动到网页的尾部：End <br>打开新的地址键入窗口：Ctrl+O <br>打开收藏夹：Ctrl+I <br>打开历史记录文件夹：Ctrl+H <br>打开浏览器设定的默认主页：Alt+HOME <br>&nbsp;</p>
<p>21.添加到收藏夹： <br>〈a href="javascript :window.external.addFavorite('http://链接','说明 <br>&nbsp;<br>');"〉添加到收藏夹〈/a〉 <br>&nbsp;<br>22.设为首页： <br>〈a href=# <br>&nbsp;<br>onclick=this.style.behavior='url(#default#homepage)';this.setHomePage <br>&nbsp;<br>('http://链接');〉设为首页〈/a〉 <br>&nbsp;<br>23.定制浏览器地址栏前的小图标： <br>A:在网页的〈head〉〈/head〉间加入以下语句：〈link rel="shortcuticon" <br>&nbsp;<br>href="<a href="http://.../icon.ico"><font color=#1a8bc8>http://.../icon.ico</font></a>"〉即可。其中 icon.ico 为 16x16 的图标文件， <br>&nbsp;<br>颜色不要超过 16 色。 <br>&nbsp;<br>24.把滚动条放在浏览器窗口的左边 <br>A:在 &lt;body&gt; 中加 dir=RTL，即 &lt;body dir=RTL&gt;。 <br>&nbsp;<br>25.让背景图不滚动 <br>IE浏览器支持一个 Body 属性 bgproperties，它可以让背景不滚动: <br>&lt;Body Background="图片文件" bgproperties="fixed"&gt;&nbsp;&nbsp;</p>
<img src ="http://www.blogjava.net/moonboat/aggbug/110149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-12 13:19 <a href="http://www.blogjava.net/moonboat/articles/110149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页设计常用代码 </title><link>http://www.blogjava.net/moonboat/articles/110148.html</link><dc:creator>xh_blood</dc:creator><author>xh_blood</author><pubDate>Thu, 12 Apr 2007 05:17:00 GMT</pubDate><guid>http://www.blogjava.net/moonboat/articles/110148.html</guid><wfw:comment>http://www.blogjava.net/moonboat/comments/110148.html</wfw:comment><comments>http://www.blogjava.net/moonboat/articles/110148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/moonboat/comments/commentRss/110148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/moonboat/services/trackbacks/110148.html</trackback:ping><description><![CDATA[<p>1、禁止页面正文内容被选取 <br>&lt;body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return <br>false"onmouseup="document.selection.empty()"&gt; <br>&nbsp;<br>2、消除ie6自动出现的图像工具栏，设置 GALLERYIMG属性为false或no . <br>&lt;IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="no"&gt; <br>&nbsp;<br>3、防止点击空链接时，页面往往重置到页首端。 <br>代码"javascript :void(null)"代替原来的"#"标记 <br>&nbsp;<br>4、如何避免别人把你的网页放在框架中 <br>&lt;script language="javascript"&gt;&lt;!--if (self!=top) --&gt;&lt; /script&gt; <br>&nbsp;<br>5、页面定时刷新 <br>&lt;meta http-equiv="Refresh" content="秒" &gt; <br>&nbsp;<br>6、页面定时转向新的地址 <br>&lt;meta http-equiv="refresh" content="秒;URL=url"&gt; <br>&nbsp;<br>7、关闭窗口，这个是不会弹出提示直接关的： <br>把如下代码加入&lt;body&gt;区域中 <br>&lt;OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt; <br>&lt;param name="Command" value="Close"&gt; <br>&lt;/object&gt; <br>&lt;script language="javascript"&gt;function shutwin()&lt;/script&gt; <br>&lt;a href="javascript :shutwin();"&gt;关闭本窗口&lt;/a&gt; <br>&nbsp;<br>&nbsp;<br>&nbsp;</p>
<p>网页设计常用代码(二) <br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有时候好不容易写出来的程序代码被别人抄去，心里一定不好受。这还是小事，但如果在我们的源代码中有一些不希望让别人知道的内容，比如密码、Action的指向等，这些一旦被人利用，那后果有时是不堪设想的。而网页加密就是我们现在需要解决的问题。下面就我在网页制作中的一些经验向大家介绍一些简单的防范方法。 <br>1、禁止右键 <br>看到这里大家一定会想，这招有很多人介绍过了，而且破解的方法也有很多。但我这里要说的是另一种方法，而且我试了很多方法都没有能破解。具体如下： <br>&lt;html&gt; <br>&lt;head&gt; <br>&lt;script&gt; <br>function stop(){ <br>alert("试试能破解吗？"); <br>return false; <br>} <br>document.oncontextmenu=stop; <br>&lt;/script&gt; <br>&lt;boyd&gt;你可以按右键、shift+F10和右ctrl左边的那个键试试！看能不能解。^_^&lt;/body&gt; <br>&nbsp;<br>大家试试，看能不能破解！你可以将alert("试试能破解吗？");这句去掉，这样当按右键时就什么反应也没有了，就好像没有右键功能一样。 <br>&nbsp;<br>2、禁示查看源代码 <br>我们已经禁了右键，但从"查看"菜单下的"源文件"中同样可以看到源代码，下面我们就来解决这个问题： <br>其实这只要使用一个含有&lt;frame&gt;&lt;/frame&gt;标记的网页便可以达到目的。 <br>&lt;frameset&gt; <br>&lt;frame src="你要保密的文件的URL"&gt; <br>&lt;/frameset&gt; <br>这样当有人使用"查看"下的"源文件"的时候，看到的将是上面的那段代码，而你真正的文件又躲过一劫。 <br>&nbsp;<br>3、禁示另存为 <br>通过上面的两步好像你的源代码已经安全了，但别忘了，别人还可以将你的页面保存下来，再慢慢分析。不过别担心，下面我们来解决这个问题。 <br>在你要保密的网页中加入以下代码： <br>&lt;noscript&gt;&lt;iframe src="/*.htm"&gt;&lt;/iframe&gt;&lt;/noscript&gt; <br>&nbsp;<br>4、彻底屏蔽右键方法。&lt;body oncontextmenu="return false"&gt; <br>&nbsp;<br>--------------------------------------------------------------------------- <br>SCRIPT language=javascript&gt; <br>//双击页面后自动滚屏，单击后停止。 <br>var currentpos,timer; <br>function initialize() <br>{ timer=setInterval("scrollwindow()",16); } <br>function sc(){ <br>clearInterval(timer); <br>} <br>function scrollwindow() <br>{currentpos=document.body.scrollTop; <br>window.scroll(0,++currentpos); <br>if (currentpos != document.body.scrollTop) <br>sc(); <br>} <br>document.onmousedown=sc <br>document.ondblclick=initialize <br>&nbsp;<br>&lt;/script&gt; <br>&nbsp;<br>____________________________________________________________________ <br>&nbsp;<br>&lt;!--"禁示另存为"开始---&gt; <br>&nbsp;<br>&lt;noscript&gt; <br>&lt;iframe src="/*.htm"&gt;&lt;/iframe&gt; <br>&lt;/noscript&gt; <br>&nbsp;<br>&lt;!--"禁示另存为"结束---&gt; <br>&nbsp;</p>
<p>&lt;script language="javascript"&gt; <br>&nbsp;<br>//设定脚本出错能继续运行 <br>&nbsp;<br>function KillError() <br>{ <br>return false; <br>&nbsp;<br>} <br>&nbsp;<br>window.onerror=KillError; <br>&nbsp;<br>&lt;/script&gt; <br>------------------------------------------------------------------ <br>　 <br>&nbsp;<br>网页制作实用技巧 <br>1. oncontextmenu="window.event.returnvalue=false" <br>将彻底屏蔽鼠标右键 <br>&nbsp;<br>&lt;table border oncontextmenu=return(false)&gt;&lt;td&gt;no&lt;/table&gt; <br>可用于Table <br>&nbsp;<br>2. &lt;body onselectstart="return false"&gt; <br>取消选取、防止复制 <br>&nbsp;<br>3. onpaste="return false" <br>不准粘贴 <br>&nbsp;<br>4. oncopy="return false;" oncut="return false;" <br>防止复制 <br>&nbsp;<br>5. &lt;link rel="Shortcut Icon" href="favicon.ico"&gt; <br>IE地址栏前换成自己的图标 <br>&nbsp;<br>6. &lt;link rel="Bookmark" href="favicon.ico"&gt; <br>可以在收藏夹中显示出你的图标 <br>&nbsp;<br>7. &lt;input style="ime-mode:disabled"&gt; <br>关闭输入法 <br>&nbsp;<br>8. 永远都会带着框架 <br>&lt;script language="javascript"&gt;&lt;!-- <br>if (window == top)top.location.href = "frames.htm"; <br>&nbsp;<br>//frames.htm为框架网页 <br>// --&gt;&lt;/script&gt; <br>&nbsp;<br>9. 防止被人frame <br>&lt;SCRIPT LANGUAGE=javascript&gt;&lt;!-- <br>if (top.location != <br>&nbsp;<br>self.location)top.location=self.location; <br>// --&gt;&lt;/SCRIPT&gt; <br>&nbsp;<br>10. &lt;noscript&gt;&lt;iframe src="/*.html&gt;";&lt;/iframe&gt;&lt;/noscript&gt; <br>网页将不能被另存为 <br>&nbsp;<br>11. &lt;input type=button value=查看网页源代码 <br>onclick="window.location = 'view-source:'+ <br>&nbsp;<br>'http://www.csdn.net/'"&gt; <br>&nbsp;<br>12. 怎样通过asp的手段来检查来访者是否用了代理 <br>&lt;% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")&lt;&gt;"" <br>&nbsp;<br>then <br>response.write "&lt;font color=#FF0000&gt;您通过了代理服务器，"&amp; <br>&nbsp;<br>_ <br>"真实的IP为 <br>&nbsp;<br>"&amp;Request.ServerVariables("HTTP_X_FORWARDED_FOR") <br>end if <br>%&gt; <br>&nbsp;<br>13. 取得控件的绝对位置 <br>&nbsp;<br>//javascript <br>&lt;script language="javascript"&gt; <br>function getIE(e){ <br>var t=e.offsetTop; <br>var l=e.offsetLeft; <br>while(e=e.offsetParent){ <br>t+=e.offsetTop; <br>l+=e.offsetLeft; <br>} <br>alert("top="+t+"nleft="+l); <br>} <br>&lt;/script&gt; <br>&nbsp;<br>//VBScript <br>&lt;script language="VBScript"&gt;&lt;!-- <br>function getIE() <br>dim t,l,a,b <br>set a=document.all.img1 <br>t=document.all.img1.offsetTop <br>l=document.all.img1.offsetLeft <br>while a.tagName&lt;&gt;"BODY" <br>set a = a.offsetParent <br>t=t+a.offsetTop <br>l=l+a.offsetLeft <br>wend <br>msgbox "top="&amp;t&amp;chr(13)&amp;"left="&amp;l,64,"得到控件的位置" <br>end function <br>--&gt;&lt;/script&gt; <br>&nbsp;<br>14. 光标是停在文本框文字的最后 <br>&lt;script language="javascript"&gt; <br>function cc() <br>{ <br>var e = event.srcElement; <br>var r =e.createTextRange(); <br>r.moveStart('character',e.value.length); <br>r.collapse(true); <br>r.select(); <br>} <br>&lt;/script&gt; <br>&lt;input type=text name=text1 value="123" onfocus="cc()"&gt; <br>&nbsp;<br>15. 判断上一页的来源 <br>asp: <br>request.servervariables("HTTP_REFERER") <br>&nbsp;<br>javascript : <br>document.referrer <br>&nbsp;<br>16. 最小化、最大化、关闭窗口 <br>&lt;object id=hh1 <br>&nbsp;<br>classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"&gt; <br>&lt;param name="Command" value="Minimize"&gt;&lt;/object&gt; <br>&lt;object id=hh2 <br>&nbsp;<br>classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"&gt; <br>&lt;param name="Command" value="Maximize"&gt;&lt;/object&gt; <br>&lt;OBJECT id=hh3 <br>&nbsp;<br>classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt; <br>&lt;PARAM NAME="Command" value="Close"&gt;&lt;/OBJECT&gt; <br>&nbsp;<br>&lt;input type=button value=最小化 onclick=hh1.Click()&gt; <br>&lt;input type=button value=最大化 onclick=hh2.Click()&gt; <br>&lt;input type=button value=关闭 onclick=hh3.Click()&gt; <br>本例适用于IE </p>
<img src ="http://www.blogjava.net/moonboat/aggbug/110148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/moonboat/" target="_blank">xh_blood</a> 2007-04-12 13:17 <a href="http://www.blogjava.net/moonboat/articles/110148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>