﻿<?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-分享JAVA</title><link>http://www.blogjava.net/chenqian/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 09:27:23 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 09:27:23 GMT</pubDate><ttl>60</ttl><item><title>javascript验证</title><link>http://www.blogjava.net/chenqian/archive/2008/03/26/188836.html</link><dc:creator>chenqian</dc:creator><author>chenqian</author><pubDate>Wed, 26 Mar 2008 11:43:00 GMT</pubDate><guid>http://www.blogjava.net/chenqian/archive/2008/03/26/188836.html</guid><wfw:comment>http://www.blogjava.net/chenqian/comments/188836.html</wfw:comment><comments>http://www.blogjava.net/chenqian/archive/2008/03/26/188836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenqian/comments/commentRss/188836.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenqian/services/trackbacks/188836.html</trackback:ping><description><![CDATA[<p>在b/s开发中经常用到的javaScript技术&nbsp;，来自于网络 <br />
一、验证类<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、文本排序</p>
<p><br />
一、验证类<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 ("HKCUSoftwareACMEFortuneTeller", 1, "REG_BINARY");<br />
WshShell.RegWrite ("HKCUSoftwareACMEFortuneTellerMindReader", "Goocher!", "REG_SZ");<br />
var bKey =&nbsp;&nbsp;&nbsp; WshShell.RegRead ("HKCUSoftwareACMEFortuneTeller");<br />
WScript.Echo (WshShell.RegRead ("HKCUSoftwareACMEFortuneTellerMindReader"));<br />
WshShell.RegDelete ("HKCUSoftwareACMEFortuneTellerMindReader");<br />
WshShell.RegDelete ("HKCUSoftwareACMEFortuneTeller");<br />
WshShell.RegDelete ("HKCUSoftwareACME");<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; &lt;/TH&gt;&lt;TH&gt; &lt;/TH&gt;&lt;TH&gt; &lt;/TH&gt;&lt;TH&gt; &lt;/TH&gt;&lt;/TR&gt;<br />
&lt;TR&gt;&lt;TD&gt; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;/TR&gt;<br />
&lt;TR&gt;&lt;TD&gt; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;TD&gt; &lt;/TD&gt;&lt;/TR&gt;<br />
&lt;/TABLE&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt; </p>
<p>1、身份证严格验证：</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>2、验证ＩＰ地址<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>3、加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;seasonx@163.net&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 = 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 />
&nbsp;var temp = "";<br />
&nbsp;CW_Body.style.overflow&nbsp; = "hidden";<br />
&nbsp;CW_Body.style.backgroundColor = "white";<br />
&nbsp;CW_Body.style.border&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 Code By Windy_sk Special 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; New_CW.show(CW_top, CW_left, CW_width, CW_height);<br />
&nbsp; if(typeof(New_CW.document.all.include)!="undefined"){<br />
&nbsp;&nbsp; New_CW.document.all.include.style.width = CW_width;<br />
&nbsp;&nbsp; New_CW.document.all.Max.innerText = "1";<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp;}else{<br />
&nbsp; New_CW.show(0, 0, screen.width, screen.height);<br />
&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; New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);<br />
&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; key = window.event.keyCode;<br />
&nbsp;}<br />
&nbsp;else if (event){<br />
&nbsp; key = event.which;<br />
&nbsp;}<br />
&nbsp;else{<br />
&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; return true;<br />
&nbsp;}<br />
&nbsp;else if(("0123456789.").indexOf(keychar)&gt;-1){<br />
&nbsp; window.status = "";<br />
&nbsp; return true;<br />
&nbsp;}<br />
&nbsp;else {<br />
&nbsp; window.status = "Field excepts numbers only";<br />
&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>
 <img src ="http://www.blogjava.net/chenqian/aggbug/188836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenqian/" target="_blank">chenqian</a> 2008-03-26 19:43 <a href="http://www.blogjava.net/chenqian/archive/2008/03/26/188836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>