﻿<?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-xiaoniao</title><link>http://www.blogjava.net/xiaoniao/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 08:58:30 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 08:58:30 GMT</pubDate><ttl>60</ttl><item><title>checkform</title><link>http://www.blogjava.net/xiaoniao/archive/2007/07/16/130465.html</link><dc:creator>小鸟</dc:creator><author>小鸟</author><pubDate>Mon, 16 Jul 2007 00:55:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoniao/archive/2007/07/16/130465.html</guid><wfw:comment>http://www.blogjava.net/xiaoniao/comments/130465.html</wfw:comment><comments>http://www.blogjava.net/xiaoniao/archive/2007/07/16/130465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoniao/comments/commentRss/130465.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoniao/services/trackbacks/130465.html</trackback:ping><description><![CDATA[<p>&lt;!-- ---------------------------------------------------------------------<br>//<br>// File: form.htc<br>// version: 1.0<br>// Description:客户端表单验证.<br>// author: 伍子<br>// ModifyBy: Arsene<br>//<br>//-------------------------------------------------------------------- --&gt;<br>/**<br>表单定义:<br>&lt;form name="form1" action="" style="behavior:url('form.htc')"&gt;&lt;/form&gt;<br>客户端表单验证是由表单的onSubmit事件触发，由于表单的onSubmit事件只能由提交按钮触发,<br>所以如果要用函数提交表单form1.submit(),则必须同时执行form1.onSubmit()。</p>
<p>类型定义:</p>
<p>一、整型(int)<br>定义:<br>valueType="int"<br>属性:<br>objName 对象名称(字符串)<br>mustInput 必输项(true/false)<br>minInput 最小值(数字)<br>maxInput 最大值(数字)<br>举例:<br>&lt;input type="text" name="test" valueType="int" objName="总载重吨" mustInput="true" maxInput="10000"&gt;</p>
<p>二、浮点型(float)<br>定义:<br>valueType="float"<br>属性:<br>objName 对象名称(字符串)<br>mustInput 必输项(true/false)<br>minInput 最小值(数字)<br>maxInput 最大值(数字)<br>decimalLen小数位数(数字)<br>举例:<br>&lt;input type="text" name="test" valueType="float" objName="运价" mustInput="true" maxInput="10000.50" decimalLen="2"&gt;</p>
<p>三、字符串(string)<br>定义:<br>valueType="string"<br>属性:<br>objName 对象名称(字符串)<br>mustInput 必输项(true/false)<br>stringLen 字符串长度(数字)<br>举例:<br>&lt;input type="text" name="test" valueType="string" objName="英文船名" mustInput="true" stringLen="100"&gt;</p>
<p>十、字符型(char)<br>定义:<br>valueType="char"<br>属性:<br>objName 对象名称(字符串)<br>mustInput 必输项(true/false)<br>charsLen 字符串长度(数字)<br>举例:<br>&lt;input type="text" name="test" valueType="char" objName="爱好" mustInput="true" charsLen="5"&gt;</p>
<p>四、日期(date)<br>定义:<br>valueType="date"<br>属性:<br>objName 对象名称(字符串)<br>mustInput 必输项(true/false)<br>举例:<br>&lt;input type="text" name="test" valueType="date" objName="开始日期" mustInput="true" before="ddd,ccc,sss" after="aa"&gt;<br>备注:<br>日期现在只能校验的格式为(yyyy-mm-dd)</p>
<p>五、邮箱(email)<br>定义:<br>valueType="email"<br>属性:<br>objName 对象名称(字符串)<br>mustInput 必输项(true/false)<br>举例:<br>&lt;input type="text" name="test" valueType="email" objName="邮箱" mustInput="true"&gt;</p>
<p>六、单选(radio)<br>定义:<br>valueType="radio"<br>属性:<br>objName 对象名称(字符串)<br>mustSelect 必输项(true/false)<br>举例:<br>&lt;input type="radio" name="test" valueType="radio" objName="租船方式" mustSelect="true"&gt;<br>备注:<br>对于同一组单选按钮，只需要定义第一个即可。</p>
<p>七、复选(checkbox)<br>定义:<br>valueType="checkbox"<br>属性:<br>objName 对象名称(字符串)<br>minSelect 最小选择数(数字)<br>maxSelect 最大选择数(数字)<br>举例:<br>&lt;input type="checkbox" name="test" valueType="checkbox" objName="爱好" minSelect="2" maxSelect="5"&gt;<br>备注:<br>对于同一组复选按钮，只需要定义第一个即可。</p>
<p>八、下拉列表框(select)<br>定义:<br>valueType="select"<br>属性:<br>objName 对象名称(字符串)<br>mustSelect 必输项(true/false)<br>举例:<br>&lt;select name="test" valueType="select" objName="租船方式" mustSelect="true"&gt;</p>
<p>九、列表框(list)<br>定义:<br>valueType="list"<br>属性:<br>objName 对象名称(字符串)<br>minSelect 最小选择数(数字)<br>maxSelect 最大选择数(数字)<br>举例:<br>&lt;select name="test" valueType="list" objName="爱好" minSelect="2" maxSelect="5"&gt;<br>**/</p>
<p>var es;&nbsp;//错误个数<br>var msg;&nbsp;//错误消息</p>
<p>function addMsg(obj, msg, type) {<br>if (type=="radio" || type=="checkbox") {<br>&nbsp;var warning = document.getElementById("warning");<br>&nbsp;if (msg != "") {<br>&nbsp;&nbsp;es = es + 1;<br>&nbsp;&nbsp;warning.parentNode.parentNode.style.display = '';<br>&nbsp;&nbsp;//var alarm = document.createElement("&lt;img name=alarm src=./img/alarm.gif hspace=8 height=16 width=16&gt;")<br>&nbsp;&nbsp;//var warningMsg = document.createElement("&lt;span style='color: #FF0000;font-weight: bold;'&gt;"+msg+"&lt;/span&gt;")<br>&nbsp;&nbsp;if (!warning.hasChildNodes()) { <br>&nbsp;&nbsp;&nbsp;warning.innerHTML = "&lt;img name=alarm src=./img/alarm.gif hspace=8 height=16 width=16&gt;" +<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&lt;span style='color: #FF0000;font-weight: bold;'&gt;"+msg+"&lt;/span&gt;";<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;//insertAfter(obj.parentNode, alarm, obj);<br>&nbsp;} else {<br>&nbsp;&nbsp;warning.parentNode.parentNode.style.display = 'none';<br>&nbsp;&nbsp;//if (hasAlarm(obj)) obj.parentNode.removeChild(obj.nextSibling);<br>&nbsp;&nbsp;if (warning.hasChildNodes()) { <br>&nbsp;&nbsp;&nbsp;warning.innerHTML = "";<br>&nbsp;&nbsp;}<br>&nbsp;}<br>} else {<br>&nbsp;if (msg != "") {<br>&nbsp;&nbsp;//alert(obj.name);<br>&nbsp;&nbsp;//alert(obj.parentNode.title);<br>&nbsp;&nbsp;es = es + 1;<br>&nbsp;&nbsp;obj.parentNode.title = msg;<br>&nbsp;&nbsp;var alarm = document.createElement("&lt;img name=alarm src=./img/alarm.gif hspace=8 height=16 width=16&gt;")<br>&nbsp;&nbsp;if (!(hasAlarm(obj))) insertAfter(obj.parentNode, alarm, obj);<br>&nbsp;&nbsp;//alert(es);<br>&nbsp;} else {<br>&nbsp;&nbsp;//alert(obj.name);<br>&nbsp;&nbsp;obj.parentNode.title = "";<br>&nbsp;&nbsp;//alert(obj.parentNode.title);<br>&nbsp;&nbsp;if (hasAlarm(obj)) obj.parentNode.removeChild(obj.nextSibling);<br>&nbsp;}<br>&nbsp; }<br>}</p>
<p>function insertAfter(parent, node, referenceNode) {<br>&nbsp;parent.insertBefore(node, referenceNode.nextSibling);<br>}</p>
<p>function prependChild(parent, node) {<br>&nbsp;&nbsp;&nbsp; parent.insertBefore(node, parent.firstChild);<br>}<br>//判断obj下一个节点nodeName是否为IMG,而且name为alarm<br>function hasAlarm(obj) {<br>&nbsp;var x = obj.nextSibling;<br>&nbsp;if (x != null) {<br>&nbsp;&nbsp;&nbsp; if (x.nodeName == "IMG" &amp;&amp; x.name == "alarm") {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;} else {<br>&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;}<br>}<br>//判断msg是否为空,如果不为空,则添加 and <br>function formcheck_delNull(message) {<br>&nbsp;var s = message;<br>&nbsp;if (s != "") {<br>&nbsp;&nbsp;s = s + "\n";<br>&nbsp;} <br>&nbsp;return s;<br>}</p>
<p>function checkForm(thisform)<br>{<br>es = 0;&nbsp;//初始化错误个数<br>//var oForm=event.srcElement;<br>var oForm=thisform;<br>var eles = oForm.elements;<br>//遍历所有表元素<br>for(var i=0;i&lt;eles.length;i++)<br>{<br>msg = "";&nbsp;//清空msg<br>//是否需要验证<br>var sType=eles[i].valueType;<br>if(sType)<br>{<br>if(eles[i].mustInput!=null &amp;&amp; eles[i].mustInput)<br>{<br>if(trim(eles[i].value)=="")<br>{<br>if(eles[i].objName!=null)<br>{<br>&nbsp;//alert(eles[i].objName+"不可以为空");<br>&nbsp;//addMsg(eles[i], eles[i].objName+"不可以为空");<br>&nbsp;msg = formcheck_delNull(msg) + eles[i].objName+"不可以为空";<br>}<br>else<br>{<br>//alert("该文本框为必输字段");<br>&nbsp;//addMsg(eles[i], "该文本框为必输字段");<br>&nbsp;msg = formcheck_delNull(msg) + "该文本框为必输字段";<br>}<br>} else {<br>&nbsp;//delMsg(eles[i]);<br>&nbsp;//alert(es);<br>}<br>}<br>switch(sType)<br>{<br>//整数<br>case "int":<br>checkInt(eles[i]);<br>break;</p>
<p>//小数<br>case "float":<br>checkFloat(eles[i]);<br>break;</p>
<p>//字符串<br>case "string":<br>checkString(eles[i]);<br>break;</p>
<p>//字符型<br>case "char":<br>checkChar(eles[i]);<br>break;</p>
<p>//年份<br>case "year":<br>checkYear(eles[i]);<br>break;</p>
<p>//日期<br>case "date":<br>checkDate(eles[i]);<br>break;</p>
<p>//邮件<br>case "email":<br>checkEmail(eles[i]);<br>break;</p>
<p>//单选按钮<br>case "radio":<br>checkRadio(eles[i]);<br>break;<br>//复选按钮<br>case "checkbox":<br>checkBox(eles[i]);<br>break;<br>//下拉列表框<br>case "select":<br>checkSelect(eles[i]);<br>break;<br>//列表框<br>case "list":<br>checkList(eles[i]);<br>break;</p>
<p>}<br>} else {<br>&nbsp;//非需要校验类型,则不进行error的检查<br>&nbsp;continue;<br>}<br>&nbsp;addMsg(eles[i], msg, sType);<br>}<br>//身份证相关校验<br>var sfz = oForm.sfz;<br>var csrq= oForm.csrq;<br>var sex = oForm.sex;<br>//var sfzmsg;<br>/*if(sfz==null||csrq==null||sex==null){<br>&nbsp;if (es &gt; 0) {<br>&nbsp;&nbsp;event.returnValue=false;<br>&nbsp;&nbsp;return false;<br>&nbsp;} else {<br>&nbsp;&nbsp;event.returnValue=true;<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>}*/<br>if (sfz!=null &amp;&amp; csrq!=null &amp;&amp; sex!=null) {<br>&nbsp;if(sfz.value.length&gt;0) {<br>&nbsp;&nbsp;if(sfz.value.length&gt;0&amp;&amp;csrq.value.length&gt;0&amp;&amp;sex.value.length&gt;0){<br>&nbsp;&nbsp;&nbsp;/*if(!CheckIdCard(sfz.value,sex.value,strrq10to8(csrq.value))){<br>&nbsp;&nbsp;&nbsp;&nbsp;addMsg(sfz, msg, "char");<br>&nbsp;&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;&nbsp;addMsg(sfz, msg,)<br>&nbsp;&nbsp;&nbsp;}*/<br>&nbsp;&nbsp;&nbsp;CheckIdCard(sfz.value,sex.value,strrq10to8(csrq.value));<br>&nbsp;&nbsp;&nbsp;addMsg(sfz, msg, "char");<br>&nbsp;} else {<br>&nbsp;&nbsp;var sfzmsg = "由于以下原因，身份证验证失败：";<br>&nbsp;&nbsp;if (sfz.value.length &lt;=0) {<br>&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + "身份证号码不能为空";<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if (csrq.value.length &lt;=0) {<br>&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + "出生日期不能为空";<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if (sex.value.length &lt;=0) {<br>&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + "性别不能为空";<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;addMsg(sfz, sfzmsg+msg, "char");<br>&nbsp;}<br>&nbsp;}<br>}</p>
<p>/*if (sfz.value.length&lt;=0) {<br>&nbsp;&nbsp;sfzmsg = "身份证验证失败，身份证号码不能为空";<br>&nbsp;&nbsp;addMsg(sfz, sfzmsg, "char");<br>} else if (csrq.value.length&lt;=0) {<br>&nbsp;&nbsp;sfzmsg = formcheck_delNull(sfzmsg) + "身份证验证失败，出生日期不能为空";<br>&nbsp;&nbsp;addMsg(sfz, sfzmsg, "char");<br>} else if (sex.value.length&lt;=0) {<br>&nbsp;&nbsp;sfzmsg = formcheck_delNull(sfzmsg) + "身份证验证失败，性别不能为空";<br>&nbsp;&nbsp;addMsg(sfz, sfzmsg, "char");<br>&nbsp;&nbsp;if (es &gt; 0) {<br>&nbsp;&nbsp;&nbsp;event.returnValue=false;<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;event.returnValue=true;<br>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;}<br>} else {<br>&nbsp;if(!CheckIdCard(sfz.value,sex.value,strrq10to8(csrq.value))){<br>&nbsp;&nbsp;addMsg(sfz, msg, "char");<br>&nbsp;&nbsp;if (es &gt; 0) {<br>&nbsp;&nbsp;&nbsp;event.returnValue=false;<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;event.returnValue=true;<br>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}*/</p>
<p><br>//alert(es);<br>if (es &gt; 0) {<br>&nbsp;event.returnValue=false;<br>&nbsp;alert("请检查数据录入是否正确、完整。\n(欲知详情请点击红色叉叉处。)");<br>&nbsp;return false;<br>} else {<br>&nbsp;event.returnValue=true;<br>&nbsp;return true;<br>}<br>}</p>
<p>/***检查是否为整数***/<br>function checkInt(ele)<br>{<br>if(!isInt(ele.value))<br>{<br>//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应为整数");<br>&nbsp;//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数");<br>&nbsp;//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数";<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数";<br>}<br>else<br>{<br>&nbsp;//delMsg(ele);<br>if(ele.maxInput!=null &amp;&amp; !isNaN(ele.maxInput))<br>if(parseInt(ele.maxInput)&lt;parseInt(ele.value))<br>{<br>//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput); <br>&nbsp;//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput);<br>&nbsp;//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput;<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput;<br>}<br>if(ele.minInput!=null &amp;&amp; !isNaN(ele.minInput))<br>if(parseInt(ele.minInput)&gt;parseInt(ele.value))<br>{<br>//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput);<br>&nbsp;//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput);<br>&nbsp;//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput;<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput;<br>}<br>}<br>}</p>
<p>/***检查是否为小数***/<br>function checkFloat(ele)<br>{<br>if(isNaN(ele.value))<br>{<br>//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或小数"); <br>&nbsp;//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或小数");<br>&nbsp;//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或小数";<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应为整数或小数";<br>}<br>else<br>{<br>if(ele.decimalLen!=null &amp;&amp; !checkDecimal(ele.value,ele.decimalLen))<br>{<br>//alert("您输入的"+convertNullToSpace(ele.objName)+"值小数位最多为"+ele.decimalLen);<br>&nbsp;//addMsg(ele, "您输入的"+convertNullToSpace(ele.objName)+"值小数位最多为"+ele.decimalLen);<br>&nbsp;//msg = msg + "您输入的"+convertNullToSpace(ele.objName)+"值小数位最多为"+ele.decimalLen;<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"值小数位最多为"+ele.decimalLen;<br>} <br>if(ele.maxInput!=null &amp;&amp; !isNaN(ele.maxInput))<br>if(parseInt(ele.maxInput)&lt;parseInt(ele.value))<br>{<br>//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput); <br>&nbsp;//addMsg(ele, "您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput);<br>&nbsp;//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput;<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该小于"+ele.maxInput;<br>}<br>if(ele.minInput!=null &amp;&amp; !isNaN(ele.minInput))<br>if(parseInt(ele.minInput)&gt;parseInt(ele.value))<br>{<br>//alert("您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput);<br>&nbsp;//add(msg, "您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput);<br>&nbsp;//msg = msg + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput;<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+ convertNullToSpace(ele.objName)+"值应该大于"+ele.minInput;<br>} <br>}<br>}</p>
<p>/***检查是否为字符串***/<br>function checkString(ele)<br>{<br>if(ele.stringLen!=null &amp;&amp; !isNaN(ele.stringLen))<br>{<br>var value=new String(ele.value);<br>if(value.length&gt;parseInt(ele.stringLen))<br>{<br>//alert("您输入的"+convertNullToSpace(ele.objName)+"最大长度为"+ele.stringLen);<br>&nbsp;//addMsg(ele, "您输入的"+convertNullToSpace(ele.objName)+"最大长度为"+ele.stringLen);<br>&nbsp;//msg = msg + "您输入的"+convertNullToSpace(ele.objName)+"最大长度为"+ele.stringLen;<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"最大长度为"+ele.stringLen;<br>}<br>}<br>}</p>
<p>/***检查是否为字符型***/<br>function checkChar(ele)<br>{<br>if(ele.charLen!=null &amp;&amp; !isNaN(ele.charLen))<br>{<br>var value=new String(ele.value);<br>if(value.length&gt;parseInt(ele.charLen))<br>{<br>//alert("您输入的"+convertNullToSpace(ele.objName)+"最大长度为"+ele.charLen);<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"最大长度为"+ele.charLen;<br>}<br>//字母数字<br>var patrn=/^[a-zA-Z0-9]+[a-zA-Z0-9]$/; <br>if (value.length&gt;0&amp;&amp;!patrn.exec(value)){<br>&nbsp;//alert("您输入的"+convertNullToSpace(ele.objName)+"字符应为字母或数字");<br>&nbsp;msg = formcheck_delNull(msg) + "您输入的"+convertNullToSpace(ele.objName)+"字符应为字母或数字";<br>}</p>
<p>}<br>}</p>
<p>/***检查是否为年份格式***/<br>function checkYear(ele) {<br>&nbsp;if(ele.mustInput!=null &amp;&amp; ele.mustInput &amp;&amp; !isYear(ele.value)) {<br>&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"请输入有效年份(yyyy)";<br>&nbsp;}<br>&nbsp;var parm1 = ele.before;<br>&nbsp;var parm2 = ele.after;<br>&nbsp;//在设置年份之前<br>&nbsp;if(parm1!=null){<br>&nbsp;var mb=new Array();<br>&nbsp;mb = parm1.split(",");<br>&nbsp;for(var ii=0;ii&lt;mb.length;ii++){<br>&nbsp;&nbsp;//当前校验控件值<br>&nbsp;&nbsp;var rqz1 = ele.value;<br>&nbsp;&nbsp;//设置目标控件值<br>&nbsp;&nbsp;var d = new Date();<br>&nbsp;&nbsp;var rqz2 = d.getFullYear();<br>&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;rqz2 = eval("document.all."+mb[ii]).value;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if(parseInt(rqz1) &lt;= parseInt(rqz2)){<br>&nbsp;&nbsp;&nbsp;//return true;<br>&nbsp;&nbsp;&nbsp;if (ele.minSpan!=null &amp;&amp; !isNaN(ele.minSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;if (parseInt(rqz1) &gt; parseInt(rqz2) - parseInt(ele.minSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与"+eval("document.all."+mb[ii]).objName+"的时间跨度应该大于等于"+ele.minSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的时间跨度应该大于等于"+ele.minSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;if (ele.maxSpan!=null &amp;&amp; !isNaN(ele.maxSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;if (parseInt(rqz1) &lt; parseInt(rqz2) - parseInt(ele.maxSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与"+eval("document.all."+mb[ii]).objName+"的时间跨度应该小于等于"+ele.maxSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的时间跨度应该小于等于"+ele.maxSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该小于"+eval("document.all."+mb[ii]).objName;<br>&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该小于当前年份";<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp; }<br>&nbsp;}<br>&nbsp;//在设置年份后<br>&nbsp;if(parm2!=null){<br>&nbsp;var mb=new Array();<br>&nbsp;mb = parm2.split(",");<br>&nbsp;for(var ii=0;ii&lt;mb.length;ii++){<br>&nbsp;&nbsp;//当前校验控件值<br>&nbsp;&nbsp;var rqz1 = ele.value;<br>&nbsp;&nbsp;//设置目标控件值<br>&nbsp;&nbsp;var d = new Date();<br>&nbsp;&nbsp;var rqz2 = d.getFullYear();<br>&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;rqz2 = eval("document.all."+mb[ii]).value;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if(parseInt(rqz1) &gt;= parseInt(rqz2)){<br>&nbsp;&nbsp;&nbsp;//return true;<br>&nbsp;&nbsp;&nbsp;if (ele.minSpan!=null &amp;&amp; !isNaN(ele.minSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;if (parseInt(rqz1) &lt; parseInt(rqz2) + parseInt(ele.minSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与"+eval("document.all."+mb[ii]).objName+"的时间跨度应该大于等于"+ele.minSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的时间跨度应该大于等于"+ele.minSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;if (ele.maxSpan!=null &amp;&amp; !isNaN(ele.maxSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;if (parseInt(rqz1) &gt; parseInt(rqz2) + parseInt(ele.maxSpan)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与"+eval("document.all."+mb[ii]).objName+"的时间跨度应该小于等于"+ele.maxSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"与当前年份的时间跨度应该小于等于"+ele.maxSpan;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于"+eval("document.all."+mb[ii]).objName;<br>&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于当前日期";<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp; }<br>&nbsp;}<br>}</p>
<p>/***检查是否为日期格式***/<br>function checkDate(ele)<br>{<br>if(ele.mustInput!=null &amp;&amp; ele.mustInput&amp;&amp;!isDate(ele.value))<br>{<br>&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"请输入有效日期(yyyy-mm-dd)";<br>}<br>if(ele.value!=null&amp;&amp;ele.value!=""&amp;&amp;!isDate(ele.value))<br>{<br>&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"请输入有效日期(yyyy-mm-dd)";<br>}<br>var parm1 = ele.before;<br>var parm2 = ele.after;<br>//在设置日期之前<br>if(parm1!=null){<br>&nbsp;var mb=new Array();<br>&nbsp;mb = parm1.split(",");<br>&nbsp;for(var ii=0;ii&lt;mb.length;ii++){<br>&nbsp;&nbsp;//当前校验控件值<br>&nbsp;&nbsp;var rqz1 = ele.value;<br>&nbsp;&nbsp;//设置目标控件值<br>&nbsp;&nbsp;var d = new Date();<br>&nbsp;&nbsp;var rqz2 = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();<br>&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;rqz2 = eval("document.all."+mb[ii]).value;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;/*if(rqz1==""){<br>&nbsp;&nbsp;&nbsp;//return true;<br>&nbsp;&nbsp;&nbsp;if (msg != "") {<br>&nbsp;&nbsp;&nbsp;&nbsp;addMsg(ele, msg);<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;} else { return true; }<br>&nbsp;&nbsp;}*/<br>&nbsp;&nbsp;if(chkBefore(rqz1,rqz2)==true){<br>&nbsp;&nbsp;&nbsp;//return true;<br>&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>//alert(convertNullToSpace(ele.objName)+"应该小于等于"+document.getElementById(parm1).objName);<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该小于等于"+eval("document.all."+mb[ii]).objName;<br>&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;//alert(convertNullToSpace(ele.objName)+"应该小于等于当前日期");<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该小于等于当前日期";<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}<br>//在设置日期之后<br>if(parm2!=null){<br>&nbsp;var mb=new Array();<br>&nbsp;mb = parm2.split(",");<br>&nbsp;for(var ii=0;ii&lt;mb.length;ii++){<br>&nbsp;&nbsp;//当前校验控件值<br>&nbsp;&nbsp;var rqz1 = ele.value;<br>&nbsp;&nbsp;//设置目标控件值<br>&nbsp;&nbsp;var d = new Date();<br>&nbsp;&nbsp;var rqz2 = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();<br>&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;rqz2 = eval("document.all."+mb[ii]).value;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;/*if(rqz1==""){<br>&nbsp;&nbsp;&nbsp;//return true;<br>&nbsp;&nbsp;&nbsp;if (msg != "") {<br>&nbsp;&nbsp;&nbsp;&nbsp;addMsg(ele, msg);<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;} else { return true; }<br>&nbsp;&nbsp;}*/<br>&nbsp;&nbsp;if(chkAfter(rqz1,rqz2)==true){<br>&nbsp;&nbsp;&nbsp;//return true;<br>&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;if(mb[ii]!="today"){<br>&nbsp;&nbsp;&nbsp;&nbsp;//alert(convertNullToSpace(ele.objName)+"应该大于"+document.getElementById(parm2).objName);<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于"+eval("document.all."+mb[ii]).objName;<br>&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;//alert(convertNullToSpace(ele.objName)+"应该大于当前日期");<br>&nbsp;&nbsp;&nbsp;&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"应该大于当前日期";<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}</p>
<p>}</p>
<p>/***检查日期1是否大于日期2***/<br>function chkBefore(rqz1,rqz2){<br>&nbsp;if (rqz1=="" || rqz2=="") { return true;}<br>&nbsp;var arr1 = rqz1.split("-");<br>&nbsp;&nbsp;&nbsp; var arr2 = rqz2.split("-");<br>&nbsp;&nbsp;&nbsp; var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);<br>&nbsp;&nbsp;&nbsp; var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);<br>&nbsp;&nbsp;&nbsp; if(arr1[1].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr1[1] = "0" + arr1[1];<br>&nbsp;&nbsp;&nbsp; if(arr1[2].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr1[2] = "0" + arr1[2];<br>&nbsp;&nbsp;&nbsp; if(arr2[1].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr2[1] = "0" + arr2[1];<br>&nbsp;&nbsp;&nbsp; if(arr2[2].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr2[2]="0" + arr2[2];<br>&nbsp;&nbsp;&nbsp; var d1 = arr1[0] + arr1[1] + arr1[2];<br>&nbsp;&nbsp;&nbsp; var d2 = arr2[0] + arr2[1] + arr2[2];<br>&nbsp;&nbsp;&nbsp; if(parseInt(d1,10) &lt;= parseInt(d2,10)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>/***检查日期1是否小于日期2***/<br>function chkAfter(rqz1,rqz2){<br>&nbsp;if (rqz1=="" || rqz2=="") { return true;}<br>&nbsp;&nbsp;var arr1 = rqz1.split("-");<br>&nbsp;&nbsp;&nbsp; var arr2 = rqz2.split("-");<br>&nbsp;&nbsp;&nbsp; var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);<br>&nbsp;&nbsp;&nbsp; var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);<br>&nbsp;&nbsp;&nbsp; if(arr1[1].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr1[1] = "0" + arr1[1];<br>&nbsp;&nbsp;&nbsp; if(arr1[2].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr1[2] = "0" + arr1[2];<br>&nbsp;&nbsp;&nbsp; if(arr2[1].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr2[1] = "0" + arr2[1];<br>&nbsp;&nbsp;&nbsp; if(arr2[2].length == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arr2[2]="0" + arr2[2];<br>&nbsp;&nbsp;&nbsp; var d1 = arr1[0] + arr1[1] + arr1[2];<br>&nbsp;&nbsp;&nbsp; var d2 = arr2[0] + arr2[1] + arr2[2];<br>&nbsp;&nbsp;&nbsp; if(parseInt(d1,10) &gt; parseInt(d2,10)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>/***检查是否为电子邮箱***/<br>function checkEmail(ele)<br>{<br>if(ele.value.length&gt;0&amp;&amp;!isEmail(ele.value))<br>{<br>//alert("请输入有效邮箱");<br>&nbsp;//addMsg(ele, "请输入有效邮箱");<br>&nbsp;msg = formcheck_delNull(msg) + "请输入有效邮箱";<br>}</p>
<p>}</p>
<p><br>/***检查单选按钮是否需要选择***/<br>function checkRadio(ele)<br>{<br>//var rads = document.getElementsByName(ele.name);<br>//eval("var rads="+name+"."+ele.name);<br>eval("var rads=document.all."+ele.name);<br>var selectCount=0;<br>for(var i=0;i&lt;rads.length;i++)<br>{<br>if(rads[i].checked)<br>{<br>selectCount++;<br>}<br>}</p>
<p>if(ele.mustSelect!=null &amp;&amp; ele.mustSelect)<br>{<br>if(selectCount==0)<br>{<br>//alert("请选择"+convertNullToSpace(ele.objName));<br>&nbsp;//addMsg(ele, "请选择"+convertNullToSpace(ele.objName));<br>&nbsp;msg = formcheck_delNull(msg) + "请选择"+convertNullToSpace(ele.objName);<br>}</p>
<p>}<br>}</p>
<p>/***检查复选按钮是否需要选择***/<br>function checkBox(ele)<br>{<br>//var rads = document.getElementsByName(ele.name);<br>//alert(ele.name);<br>//eval("var chks="+name+"."+ele.name);<br>eval("var chks=document.all."+ele.name);<br>var selectCount=0;<br>for(var i=0;i&lt;chks.length;i++)<br>{<br>if(chks[i].checked)<br>{<br>selectCount++;<br>}<br>}<br>if(ele.minSelect!=null &amp;&amp; !isNaN(ele.minSelect))<br>{<br>if(selectCount&lt;parseInt(ele.minSelect))<br>{<br>//alert(convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项");<br>&nbsp;//addMsg(ele, convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项");<br>&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项";<br>}<br>}<br>if(ele.maxSelect!=null &amp;&amp; !isNaN(ele.maxSelect))<br>{<br>if(selectCount&gt;parseInt(ele.maxSelect))<br>{<br>//alert(convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项");<br>&nbsp;//addMsg(ele, convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项");<br>&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项";<br>}<br>}</p>
<p>}</p>
<p>/***检查下拉列表框是否需要选择***/<br>function checkSelect(ele)<br>{<br>//var rads = document.getElementsByName(ele.name);<br>if(ele.mustSelect!=null &amp;&amp; ele.mustSelect)<br>{<br>//if(ele.selectedIndex==0)<br>if(ele.value=="")<br>{<br>//alert("请选择"+convertNullToSpace(ele.objName));<br>&nbsp;//addMsg(ele, "请选择"+convertNullToSpace(ele.objName));<br>&nbsp;msg = formcheck_delNull(msg) + "请选择"+convertNullToSpace(ele.objName);<br>}<br>}</p>
<p>}</p>
<p><br>/***检查列表框的选择项数***/<br>function checkList(ele)<br>{<br>//var rads = document.getElementsByName(ele.name);<br>var selectCount=0;<br>for(var i=0;i&lt;ele.options.length;i++)<br>{<br>if(ele.options[i].selected)<br>{<br>selectCount++;<br>}<br>}<br>//alert(selectCount);<br>if(ele.minSelect!=null &amp;&amp; !isNaN(ele.minSelect))<br>{<br>if(selectCount&lt;parseInt(ele.minSelect))<br>{<br>//alert(convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项");<br>&nbsp;//addMsg(ele, convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项");<br>&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"至少选择"+ele.minSelect+"项";<br>}<br>}<br>if(ele.maxSelect!=null &amp;&amp; !isNaN(ele.maxSelect))<br>{<br>if(selectCount&gt;parseInt(ele.maxSelect))<br>{<br>//alert(convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项");<br>&nbsp;msg = formcheck_delNull(msg) + convertNullToSpace(ele.objName)+"至多选择"+ele.maxSelect+"项";<br>}<br>}</p>
<p>}</p>
<p><br>/***判断是否为整数***/<br>function isInt(s)<br>{<br>var patrn=/^[-,+]{0,1}[0-9]{0,}$/;<br>if (!patrn.exec(s))<br>return false;<br>return true;<br>}<br>/***判断是否为数字***/<br>function isNumber(s)<br>{<br>var patrn=/^[-,+]{0,1}[0-9]{0,}[.]{0,1}[0-9]{0,}$/;<br>if (!patrn.exec(s))<br>return false;<br>return true;<br>}<br>/***判断是否为日期***/<br>function isDate(str)<br>{<br>//var str = ele.value;<br>//var year, month, day;<br>var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); <br>if(r==null)<br>{<br>return false;<br>} <br>var d= new Date(r[1], r[3]-1, r[4]);<br>/*year = r[1];<br>month = r[3];<br>day = r[4];*/<br>if(!(d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]))<br>{ <br>return false;<br>}<br>/*if (parseInt(r[3], 10) &lt; 10) month = "0" + parseInt(month, 10);<br>if (parseInt(r[4], 10) &lt; 10) day = "0" + parseInt(day, 10);<br>if (parseInt(r[3], 10) &lt; 10 || parseInt(r[4], 10) &lt; 10) ele.value = year + "-" + month + "-" + day;*/<br>return true;<br>}<br>/***判断是否为年份***/<br>function isYear(s)<br>{<br>var patrn=/^[-,+]{0,1}[0-9]{0,}[.]{0,1}[0-9]{0,}$/;<br>if (!patrn.exec(s) || s.length != 4) {<br>&nbsp;//alert("11");<br>&nbsp;return false;<br>} else {<br>&nbsp;//alert("22");<br>&nbsp;return true;<br>}<br>}<br>/***判断是否为邮箱***/<br>function isEmail(str)<br>{<br>if(str.match(/[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig)!=str)<br>return false;<br>else<br>return true;<br>}<br>/***将NULL转化为空格，用于显示对象名称***/<br>function convertNullToSpace(paramValue)<br>{<br>if(paramValue==null)<br>return "";<br>else <br>return paramValue;<br>}<br>/***检查小数位数***/<br>function checkDecimal(num,decimalLen)<br>{<br>var len = decimalLen*1+1;<br>if(num.indexOf('.')&gt;0)<br>{<br>num=num.substr(num.indexOf('.')+1,num.length-1); <br>if ((num.length)&lt;len)<br>{<br>return true;<br>}<br>else<br>{<br>return false;<br>}<br>}<br>return true;<br>}<br>/***去除空格***/<br>function trim(str)<br>{<br>if (str.length &gt; 0) <br>{<br>while ((str.substring(0,1) == " ") &amp;&amp; (str.length &gt; 0)) <br>{<br>str = str.substring(1,str.length);<br>}<br>while (str.substring(str.length-1,str.length) == " ") <br>{<br>str = str.substring(0,str.length-1);<br>}<br>}<br>return str;<br>}</p>
<p>/********************************************************************<br>用户身份证进行初校验<br>实现功能：<br>１、15位的月校验，日校验，性别校验（15位下的年不需要进行校验）<br>２、18位的年校验，月校验，日校验，性别校验，末位国家校验码校验<br>３、选择性的校验身份证是否和资料中性别匹配，参数中的性别留空，即不校验<br>４、选择性的校验身份证是否和资料中的出生年月匹配，参数中的生日留空，即不校验<br>************************************************************************/</p>
<p>function CheckIdCard(CardNo,Sex,Birthday){<br>//性别　1：男　0：女<br>//生日　19811010<br>if ((CardNo == "")||(!(isNumber(CardNo))&amp;&amp;(CardNo.length == 15))||(!(isNumber(CardNo.substr(0,17)))&amp;&amp;(CardNo.length == 18))||((CardNo.length != 15)&amp;&amp;(CardNo.length != 18)))<br>{<br>&nbsp;&nbsp;&nbsp; //alert("您的身份证号码输入有误，必需是15数字或18位,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您的身份证号码输入有误，必需是15数字或18位,请重新检查并输入!";<br>}<br>else if (CardNo.length == 15)<br>{<br>&nbsp; if(CardNo.substr(8,2)&gt;12||CardNo.substr(8,2)&lt;1)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的出生&#8220;月&#8221;输入有误,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的出生&#8220;月&#8221;输入有误,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(CardNo.substr(10,2)&gt;31||CardNo.substr(10,2)&lt;1)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的出生&#8220;日&#8221;输入有误,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的出生&#8220;日&#8221;输入有误,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(Birthday!=""&amp;&amp;("19" + CardNo.substr(6,6))!=Birthday)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的生日和资料里的生日不符,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的生日和资料里的生日不符,请重新检查并输入!";<br>&nbsp; }</p>
<p>&nbsp; //alert(Sex+"14="+CardNo.charAt(14)%2);<br>&nbsp; if(Sex=="男"&amp;&amp;CardNo.charAt(14)%2!=1)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的性别和资料里的性别不符,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的性别和资料里的性别不符,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(Sex=="女"&amp;&amp;CardNo.charAt(14)%2!=0)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的性别和资料里的性别不符,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的性别和资料里的性别不符,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; //return true;<br>}<br>else if (CardNo.length == 18)<br>{<br>&nbsp; if(CardNo.substr(6,4)&lt;1900||CardNo.substr(6,4)&gt;2100)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的出生&#8220;年&#8221;输入有误,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的出生&#8220;年&#8221;输入有误,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(CardNo.substr(10,2)&gt;12||CardNo.substr(10,2)&lt;1)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的出生&#8220;月&#8221;输入有误,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的出生&#8220;月&#8221;输入有误,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(CardNo.substr(12,2)&gt;31||CardNo.substr(12,2)&lt;1)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的出生&#8220;日&#8221;输入有误,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的出生&#8220;日&#8221;输入有误,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(Birthday!=""&amp;&amp;CardNo.substr(6,8)!=Birthday)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的生日和资料里的生日不符,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的生日和资料里的生日不符,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; //alert(Sex+"18="+CardNo.substr(16));<br>&nbsp; if(Sex=="男"&amp;&amp;CardNo.charAt(16)%2!=1)//男性校验<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的性别和资料里的性别不符,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的性别和资料里的性别不符,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; if(Sex=="女"&amp;&amp;CardNo.charAt(16)%2!=0)//女性校验<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您身份证的性别和资料里的性别不符,请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您身份证的性别和资料里的性别不符,请重新检查并输入!";<br>&nbsp; }<br>&nbsp; var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);<br>&nbsp; var Ai = new Array('1','0','X','9','8','7','6','5','4','3','2');<br>&nbsp; <br>&nbsp; if (CardNo.charAt(17) == 'x')<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; CardNo = CardNo.replace("x","X");&nbsp;&nbsp;&nbsp; <br>&nbsp; }<br>&nbsp; <br>&nbsp; var checkDigit = CardNo.charAt(17);&nbsp; <br>&nbsp; var cardNoSum = 0;<br>&nbsp; <br>&nbsp; for (var i=0; i&lt;CardNo.length-1; i++)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; cardNoSum = cardNoSum + CardNo.charAt(i)*Wi[i];<br>&nbsp; }<br>&nbsp; <br>&nbsp; var seq = cardNoSum%11;<br>&nbsp; var getCheckDigit = Ai[seq]; <br>&nbsp; <br>&nbsp; if (checkDigit != getCheckDigit)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; //alert("您的身份证号码校验失败，请重新检查并输入!");<br>&nbsp;&nbsp;&nbsp; //return false;<br>&nbsp;&nbsp;&nbsp; msg = formcheck_delNull(msg) + "您的身份证号码校验失败，请重新检查并输入!";<br>&nbsp; }<br>&nbsp; //return true;<br>}<br>/*else<br>{<br>&nbsp;&nbsp;&nbsp; return true;<br>}*/<br>}</p>
<p>function isNumber(str) <br>{<br>if(str==null || str=="") return false ; <br>for(var i=0 ;i&lt;str.length ;i++) <br>{<br>var cI = str.charAt(i) ; <br>if(cI&lt;'0' || cI&gt;'9') return false ; <br>} <br>return true; <br>}</p>
<p>function strrq10to8(str)<br>{<br>&nbsp; var strs = str.split("-");<br>&nbsp; var str&nbsp; = strs[0]+strs[1]+strs[2];<br>&nbsp; return str;<br>}</p>
<img src ="http://www.blogjava.net/xiaoniao/aggbug/130465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoniao/" target="_blank">小鸟</a> 2007-07-16 08:55 <a href="http://www.blogjava.net/xiaoniao/archive/2007/07/16/130465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript小经验</title><link>http://www.blogjava.net/xiaoniao/archive/2007/07/05/128230.html</link><dc:creator>小鸟</dc:creator><author>小鸟</author><pubDate>Thu, 05 Jul 2007 00:32:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoniao/archive/2007/07/05/128230.html</guid><wfw:comment>http://www.blogjava.net/xiaoniao/comments/128230.html</wfw:comment><comments>http://www.blogjava.net/xiaoniao/archive/2007/07/05/128230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoniao/comments/commentRss/128230.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoniao/services/trackbacks/128230.html</trackback:ping><description><![CDATA[<p>获取select选定的元素<br>var&nbsp;&nbsp; Obj&nbsp;&nbsp; =&nbsp;&nbsp; document.getElementById("selectID");&nbsp; <br>Obj.option[Obj.selectedIndex].value<br>如何用Javascript的内置函数把以逗号分开的字符串转化成一个数组。然后输出数组。&nbsp; <br>&nbsp; &lt;script&gt;&nbsp; <br>&nbsp; str="a,b,c"&nbsp; <br>&nbsp; arr=str.split(",");&nbsp; <br>&nbsp; for(i=0;i&lt;arr.length;i++)alert(i+":"+arr[i])&nbsp; <br>&nbsp; &lt;/script&gt;&nbsp; <br>如何用自己写的函数把以逗号分开的字符串转化成一个数组。然后输出数组。&nbsp; <br>&nbsp; &lt;script&gt;&nbsp; <br>&nbsp; str="o,m,n"&nbsp; <br>&nbsp; arr=split2(str);&nbsp; <br>&nbsp; for(i=0;i&lt;arr.length;i++)alert(i+":"+arr[i])&nbsp; <br>&nbsp; function&nbsp;&nbsp; split2(tmp){&nbsp; <br>&nbsp; return&nbsp;&nbsp; tmp.match(/([^,]+)/g)&nbsp; <br>&nbsp; }&nbsp; <br>&nbsp; &lt;/script&gt;&nbsp; <br><br>Example:<br>&lt;html&gt;<br>&lt;head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;title&gt;&lt;/title&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;script language="javascript"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function Add(objA,objB)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tem=new Array();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with(objA)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=length-1;i&gt;=0;i--)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(options[i].selected){tem[tem.length]=new Option(options[i].text,options[i].value);}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(objA.selectedIndex&gt;-1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;objB.length;i++) tem[tem.length]=objB.options[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with(objB)<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; length=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tem.sort(sortArr);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;tem.length;i++) options[length]=new Option(tem[i].text,tem[i].value)<br>&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;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function sortArr(a,b)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(a.text&gt;b.text)return 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(a.text&lt;b.text)return -1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>&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; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function up(obj)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var objO = new Option(obj.options[obj.selectedIndex].text,obj.options[obj.selectedIndex].value);&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var selectedIndex = obj.selectedIndex;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(selectedIndex&gt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex].text = obj.options[selectedIndex-1].text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex].value = obj.options[selectedIndex-1].value;<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex-1].text = objO.text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex-1].value = objO.value;<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.selectedIndex = selectedIndex-1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&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; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function down(obj)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var objO = new Option(obj.options[obj.selectedIndex].text,obj.options[obj.selectedIndex].value);&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var selectedIndex = obj.selectedIndex;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(selectedIndex&lt;obj.options.length-1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex].text = obj.options[selectedIndex+1].text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex].value = obj.options[selectedIndex+1].value;<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex+1].text = objO.text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.options[selectedIndex+1].value = objO.value;<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.selectedIndex = selectedIndex+1;<br>&nbsp;&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; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 双击时添加到b<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function dba(objA,objB)<br>&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;&nbsp;&nbsp; var objO=new Option(objA.options[objA.selectedIndex].text,objA.options[objA.selectedIndex].value)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objB.add(objO);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 双击时删除b<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function dbb(obj)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.removeChild(obj.options[obj.selectedIndex]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 删除b中选中的项<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function del(obj)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=obj.options.length-1;i&gt;=0;i--)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(obj.options[i].selected)<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.removeChild(obj.options[i]);<br>&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;&nbsp;&nbsp; }&nbsp;&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; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function getvalue(obj)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var str="";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=0;i&lt;obj.options.length;i++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(str.length&gt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str = str + "," + obj.options[i].value;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str = obj.options[i].value;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("selectValue").innerText = str;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //<br>&nbsp;&nbsp;&nbsp; &lt;/script&gt;</p>
<p>&lt;/head&gt;<br>&lt;body bgcolor="#CCCCCC"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;table cellspacing="0" cellpadding="0" width="448" border="0"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="45%" align="center"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;select style="width: 155px" multiple size="15" name="a" ondblclick="dba(this,document.getElementById('b'))"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av1" title="av1"&gt;at1&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av2" title="av2" style="background-color:#999999"&gt;at2&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av3" title="av3"&gt;at3&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av4" title="av4"&gt;at4&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av5" title="av5"&gt;at5&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av6" title="av6"&gt;at6&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="av7" title="av7"&gt;at7&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/select&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onClick="Add(document.getElementById('a'),document.getElementById('b'))" type="button"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value="&amp;gt;&amp;gt;" style="width: 40px"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onClick="del(document.getElementById('b'))" type="button" value="Del" style="width: 40px"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onClick="up(document.getElementById('b'))" type="button" value="b&#8593;" style="width: 40px"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input onClick="down(document.getElementById('b'))" type="button" value="b&#8595;" style="width: 40px"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="45%" align="center"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;select style="width: 155px" multiple size="15" name="b" ondblclick="dbb(this)"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv1"&gt;bt1&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv2"&gt;bt2&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv3"&gt;bt3&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv4"&gt;bt4&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv5"&gt;bt5&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv6"&gt;bt6&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv7"&gt;bt7&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="bv8"&gt;bt8&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/select&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan="3" align="center"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="button" name="button1" value="获得右边select值" onClick="getvalue(document.getElementById('b'))"&gt;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan="3" align="center"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="selectValue"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</p>
<img src ="http://www.blogjava.net/xiaoniao/aggbug/128230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoniao/" target="_blank">小鸟</a> 2007-07-05 08:32 <a href="http://www.blogjava.net/xiaoniao/archive/2007/07/05/128230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网址收集</title><link>http://www.blogjava.net/xiaoniao/archive/2007/07/04/128162.html</link><dc:creator>小鸟</dc:creator><author>小鸟</author><pubDate>Wed, 04 Jul 2007 10:17:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoniao/archive/2007/07/04/128162.html</guid><wfw:comment>http://www.blogjava.net/xiaoniao/comments/128162.html</wfw:comment><comments>http://www.blogjava.net/xiaoniao/archive/2007/07/04/128162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoniao/comments/commentRss/128162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoniao/services/trackbacks/128162.html</trackback:ping><description><![CDATA[<p>========css========<a href="http://www.52css.com/"><br>www.52css.com</a><br>========html========<br><br>========javascript=====<br>select-----&gt;<br><a href="http://www.cnblogs.com/kensonwang/archive/2007/06/28/798984.html">http://www.cnblogs.com/kensonwang/archive/2007/06/28/798984.html</a><br>========ajax=========<br><a href="http://www.ibm.com/developerworks/cn/xml/x-ajaxxml2/?S_TACT=105AGX52&amp;S_CMP=techcsdn">http://www.ibm.com/developerworks/cn/xml/x-ajaxxml2/?S_TACT=105AGX52&amp;S_CMP=techcsdn</a></p>
<p><a href="http://www.blueidea.com/tech/web/2006/4032.asp">http://www.blueidea.com/tech/web/2006/4032.asp</a><br>========struts========<br><br>========hibernate======<br><br>========spring========<br><br>========tapestry======= </p>
<img src ="http://www.blogjava.net/xiaoniao/aggbug/128162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoniao/" target="_blank">小鸟</a> 2007-07-04 18:17 <a href="http://www.blogjava.net/xiaoniao/archive/2007/07/04/128162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将ActionForm拼合成一条插入和更新语句</title><link>http://www.blogjava.net/xiaoniao/archive/2007/07/04/128160.html</link><dc:creator>小鸟</dc:creator><author>小鸟</author><pubDate>Wed, 04 Jul 2007 10:13:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoniao/archive/2007/07/04/128160.html</guid><wfw:comment>http://www.blogjava.net/xiaoniao/comments/128160.html</wfw:comment><comments>http://www.blogjava.net/xiaoniao/archive/2007/07/04/128160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoniao/comments/commentRss/128160.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoniao/services/trackbacks/128160.html</trackback:ping><description><![CDATA[<p>package chs.jhsyss.form;</p>
<p>import java.lang.reflect.InvocationTargetException;<br>import java.lang.reflect.Method;</p>
<p>import java.util.Date;</p>
<p>public class Waper {</p>
<p>&nbsp;public Waper(){<br>&nbsp;}<br>&nbsp;/**<br>&nbsp; * 本方法用于将FORM对象组装成一条INSERT语句<br>&nbsp; * @param obj ActionForm 以及其子对象<br>&nbsp; * @param formPath&nbsp; ActionForm 以及其子对象的包路径和名称<br>&nbsp; * @param tableName&nbsp; 所要操作的数据表<br>&nbsp; * @return 返回相应的INSERT语句<br>&nbsp; */<br>&nbsp;public String insert(Object obj,String formPath,String tableName){<br>&nbsp;&nbsp;long start&nbsp; = new Date().getTime();<br>&nbsp;&nbsp;String sqlToVar = "insert into "+tableName+"(";<br>&nbsp;&nbsp;String sqlToValues = " ) values(";<br>&nbsp;&nbsp;Class $fj = null;<br>&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;$fj = Class.forName(formPath);//example "chs.jhsyss.form.FJhsyss"<br>&nbsp;&nbsp;} catch (ClassNotFoundException e1) {<br>&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;e1.printStackTrace();<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;Class clazz = obj.getClass();<br>&nbsp;&nbsp;Method[] method = clazz.getDeclaredMethods();<br>&nbsp;&nbsp;for(int i=0;i&lt;method.length;i++){<br>&nbsp;&nbsp;&nbsp;String methodName = method[i].getName();<br>&nbsp;&nbsp;&nbsp;if(methodName.indexOf("get")&lt;0){<br>&nbsp;&nbsp;&nbsp;&nbsp;continue;// 除去非get方法<br>&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;&nbsp;Method m = $fj.getMethod(methodName, null);//根据指定的方法名取得相应方法<br>&nbsp;&nbsp;&nbsp;&nbsp;String $methodName = methodName.toLowerCase().substring(3,methodName.length());//裁剪getXXX方</p>
<p>法取得相应变量名称<br>&nbsp;&nbsp;&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String result = (String) m.invoke(obj, null);//调用方法，前一个参数代表传进来的FORM对</p>
<p>象，后一个为传递给方法的参数；返回结果为原来方法相应的返回值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlToVar+=$methodName+",";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlToValues+="'"+result+"',";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (IllegalArgumentException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (IllegalAccessException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (InvocationTargetException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;} catch (SecurityException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;} catch (NoSuchMethodException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;sqlToVar=sqlToVar.substring(0,sqlToVar.length()-1);<br>&nbsp;&nbsp;sqlToValues=sqlToValues.substring(0,sqlToValues.length()-1)+")";<br>&nbsp;&nbsp;long end = new Date().getTime();<br>&nbsp;&nbsp;System.out.println("插入操作花费总时间-&gt;"+(end-start)+"&lt;-ms");<br>&nbsp;&nbsp;System.out.println(sqlToVar+sqlToValues);<br>&nbsp;&nbsp;return sqlToVar+sqlToValues;<br>&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;public String update(Object obj,String formPath,String xh,String tableName){<br>&nbsp;&nbsp;long start = new Date().getTime();<br>&nbsp;&nbsp;String sqlToVar = "update "+tableName+" set ";<br>&nbsp;&nbsp;Class $clazz = null;<br>&nbsp;&nbsp;try{<br>&nbsp;&nbsp;&nbsp;$clazz = Class.forName(formPath);<br>&nbsp;&nbsp;}catch(ClassNotFoundException e){<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;Class clazz = obj.getClass();<br>&nbsp;&nbsp;Method[] method = clazz.getDeclaredMethods();<br>&nbsp;&nbsp;for(int i = 0;i&lt;method.length;i++){<br>&nbsp;&nbsp;&nbsp;String methodName = method[i].getName();<br>&nbsp;&nbsp;&nbsp;if(methodName.indexOf("get")&lt;0){<br>&nbsp;&nbsp;&nbsp;&nbsp;continue;// 除去非get方法<br>&nbsp;&nbsp;&nbsp;}else{<br>&nbsp;&nbsp;&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method m = $clazz.getMethod(methodName, null);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String $methodName = methodName.toLowerCase().substring(3,methodName.length());//裁剪</p>
<p>getXXX方法取得相应变量名称<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String result = (String) m.invoke(obj, null);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlToVar+=$methodName+"='"+result+"',";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (SecurityException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (NoSuchMethodException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;}//根据指定的方法名取得相应方法<br>&nbsp;&nbsp;&nbsp;&nbsp;catch (IllegalArgumentException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (IllegalAccessException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;} catch (InvocationTargetException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;sqlToVar=sqlToVar.substring(0,sqlToVar.length()-1)+" where xh="+xh;<br>&nbsp;&nbsp;long end = new Date().getTime();<br>&nbsp;&nbsp;System.out.println("更性操作花费总时间-&gt;"+(end-start)+"&lt;-ms");<br>&nbsp;&nbsp;System.out.println("SQL-&gt;"+sqlToVar);<br>&nbsp;&nbsp;return sqlToVar;<br>&nbsp;}<br>&nbsp;public static void main(String[] args){<br>&nbsp;&nbsp;FJhsyss fj = new FJhsyss();<br>&nbsp;&nbsp;fj.setBcrq("20050202");<br>&nbsp;&nbsp;fj.setDwfzr("fafa");<br>&nbsp;&nbsp;fj.setGnjygr("fafa");<br>&nbsp;&nbsp;fj.setGnjyls("2000");<br>&nbsp;&nbsp;fj.setXh("seq_hqjc_jhsyss,");<br>&nbsp;&nbsp;String seq = "seq_hqjc_jhsyss.nextval";<br>&nbsp;&nbsp;String path = "chs.jhsyss.form.FJhsyss";&nbsp;<br>&nbsp;&nbsp;Waper r = new Waper();<br>&nbsp;&nbsp;r.insert(fj,path,"MYTABLE");<br>&nbsp;&nbsp;r.update(fj, path, "1", "mytable");<br>&nbsp;}<br>}<br></p>
<img src ="http://www.blogjava.net/xiaoniao/aggbug/128160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoniao/" target="_blank">小鸟</a> 2007-07-04 18:13 <a href="http://www.blogjava.net/xiaoniao/archive/2007/07/04/128160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BeanWaper</title><link>http://www.blogjava.net/xiaoniao/archive/2007/04/30/114693.html</link><dc:creator>小鸟</dc:creator><author>小鸟</author><pubDate>Mon, 30 Apr 2007 00:49:00 GMT</pubDate><guid>http://www.blogjava.net/xiaoniao/archive/2007/04/30/114693.html</guid><wfw:comment>http://www.blogjava.net/xiaoniao/comments/114693.html</wfw:comment><comments>http://www.blogjava.net/xiaoniao/archive/2007/04/30/114693.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaoniao/comments/commentRss/114693.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaoniao/services/trackbacks/114693.html</trackback:ping><description><![CDATA[<p>package ff;</p>
<p>import java.lang.reflect.Field;<br>import java.sql.Date;<br>import java.sql.SQLException;<br>import java.util.HashMap;<br>import java.util.Iterator;<br>import java.util.Map;<br>import java.util.Set;<br>import java.util.Vector;<br>import java.sql.ResultSet;<br>/**<br>&nbsp;* BEAN 适用类 通过数据库结果集包装一个POJO,对它进行赋值<br>&nbsp;* 适用于非使用ORM框架的软件<br>&nbsp;*/<br>public class BeanWaper {<br>&nbsp;<br>&nbsp;//传入的POJO对象参数<br>&nbsp;private Object obj;<br>&nbsp;<br>&nbsp;//数据库结果集<br>&nbsp;ResultSet result;<br>&nbsp;<br>&nbsp;//保存Field集合信息<br>&nbsp;private Map fields = new HashMap();<br>&nbsp;<br>&nbsp;//预存储数据类型<br>&nbsp;private Map propertyType = new HashMap();<br>&nbsp;<br>&nbsp;public BeanWaper(Object user,ResultSet result){<br>&nbsp;&nbsp;System.out.println("ABC");<br>&nbsp;&nbsp;this.obj = user;<br>&nbsp;&nbsp;this.result = result;<br>&nbsp;&nbsp;//基本常用数据类型&nbsp; 可能不完整<br>&nbsp;&nbsp;propertyType.put("int", Integer.valueOf(0));<br>&nbsp;&nbsp;propertyType.put("long", Integer.valueOf(1));<br>&nbsp;&nbsp;propertyType.put("String", Integer.valueOf(2));<br>&nbsp;&nbsp;propertyType.put("byte", Integer.valueOf(3));<br>&nbsp;&nbsp;propertyType.put("Date", Integer.valueOf(4));<br>&nbsp;&nbsp;propertyType.put("double", Integer.valueOf(5));<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;//补充 见 getDataBaseTypeValue(arg1,arg2,arg3)<br>&nbsp;&nbsp;//propertyType.put("**", Integer.valueOf(6));<br>&nbsp;&nbsp;//propertyType.put("**", Integer.valueOf(7));<br>&nbsp;&nbsp;<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * @see 封装对象的字段名称和数据类型对象,供数据库取值时使用<br>&nbsp; * @return<br>&nbsp; */<br>&nbsp;public Map getPropertyNamesAndType(){<br>&nbsp;&nbsp;Field[] classFields = getFields();<br>&nbsp;&nbsp;for(int flag = 0; flag &lt; classFields.length; flag++ ){<br>&nbsp;&nbsp;&nbsp;fields.put(getPropertyName(classFields[flag]),getPropertyType(classFields[flag]));<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;System.out.println("1.Fields信息:"+"\n"+fields.toString());<br>&nbsp;&nbsp;return fields;<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * @see 获取所有字段的域<br>&nbsp; * @return<br>&nbsp; */<br>&nbsp;public Field[] getFields(){<br>&nbsp;&nbsp;System.out.println("2.获取声明了的Fields信息"+"\n"+obj.getClass().getDeclaredFields().toString());<br>&nbsp;&nbsp;return obj.getClass().getDeclaredFields();<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * @see 获取指定字段域的数据类型 <br>&nbsp; * @param field指定字段域<br>&nbsp; * @return<br>&nbsp; */&nbsp;<br>&nbsp;public String getPropertyType(Field field){<br>&nbsp;&nbsp;StringSpilt spilt = new StringSpilt();<br>&nbsp;&nbsp;String[] values = spilt.split(field.getType().toString(), ".");<br>&nbsp;&nbsp;String propertyType = spilt.getLastString(values);<br>&nbsp;&nbsp;System.out.println("3.获取属性类型信息:"+"\n"+propertyType);<br>&nbsp;&nbsp;return propertyType;<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * @see 通过传入属性数据类型,名称,结果集,通过匹配从结果集中取出相应数据<br>&nbsp; * @param type<br>&nbsp; * @param name<br>&nbsp; * @param result<br>&nbsp; * @return<br>&nbsp; * @throws NumberFormatException<br>&nbsp; * @throws SQLException<br>&nbsp; */<br>&nbsp;public Object getDataBaseTypeValue(String type,String name,ResultSet result) throws NumberFormatException, SQLException{<br>&nbsp;&nbsp;Object obj = null;<br>&nbsp;&nbsp;int flag = ((Integer)propertyType.get(type)).intValue();<br>&nbsp;&nbsp;switch(flag){<br>&nbsp;&nbsp;case 0 : obj = Integer.valueOf(result.getInt(name)); break;<br>&nbsp;&nbsp;case 1 : obj = Long.valueOf(result.getLong(name)); break;<br>&nbsp;&nbsp;case 2 : obj = String.valueOf(result.getString(name)); break;<br>&nbsp;&nbsp;case 3 : obj = Byte.valueOf(result.getByte(name)); break;<br>&nbsp;&nbsp;case 4 : obj = (Date)result.getDate(name); break;<br>&nbsp;&nbsp;case 5 : obj = Double.valueOf(result.getDouble(name)); break;<br>&nbsp;&nbsp;//补充<br>&nbsp;&nbsp;//case 6 : obj = String.valueOf(result.getString(name)); break;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;System.out.println("4.打印获取的数据库值信息:"+"\n"+obj);<br>&nbsp;&nbsp;return obj;<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * @see 设置指定的BEAN类的值<br>&nbsp; * @param clazz<br>&nbsp; * @param value<br>&nbsp; * @param field<br>&nbsp; */<br>&nbsp;public void setValue(Object clazz, Object value,Field field){<br>&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;field.set(clazz, value);<br>&nbsp;&nbsp;} catch (IllegalArgumentException e) {<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;System.out.println("5.打印异常信息如下:"+"\n"+e);<br>&nbsp;&nbsp;} catch (IllegalAccessException e) {<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;System.out.println("6.打印异常信息如下:"+"\n"+e);<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * @see 包装指定的BEAN类,结果为传入的BEAN将拥有设定的值<br>&nbsp; * @param result<br>&nbsp; * @throws NumberFormatException<br>&nbsp; * @throws SQLException<br>&nbsp; */<br>&nbsp;public void waperBean(ResultSet result) throws NumberFormatException, SQLException{<br>&nbsp;&nbsp;Map names_types = getPropertyNamesAndType();<br>&nbsp;&nbsp;Set keys = names_types.keySet();<br>&nbsp;&nbsp;Iterator ite = keys.iterator();<br>&nbsp;&nbsp;while(ite.hasNext()){<br>&nbsp;&nbsp;&nbsp;String name = (String) ite.next();<br>&nbsp;&nbsp;&nbsp;String type = (String) names_types.get(name);<br>&nbsp;&nbsp;&nbsp;Field field = null;<br>&nbsp;&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;&nbsp;field = obj.getClass().getDeclaredField(name);<br>&nbsp;&nbsp;&nbsp;} catch (SecurityException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("7.打印异常信息如下:"+"\n"+e);<br>&nbsp;&nbsp;&nbsp;} catch (NoSuchFieldException e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("8.打印异常信息如下:"+"\n"+e);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;setValue(obj,getDataBaseTypeValue(type,name,result),field);&nbsp;&nbsp;<br>&nbsp;&nbsp;}&nbsp;<br>&nbsp;}<br>&nbsp;<br>&nbsp;//获取属性名称<br>&nbsp;public String getPropertyName(Field field){<br>&nbsp;&nbsp;return field.getName();<br>&nbsp;}</p>
<p>&nbsp;/**<br>&nbsp; * 内部类&nbsp; 字符串分割类<br>&nbsp; */<br>&nbsp;public class StringSpilt {<br>&nbsp;&nbsp;/**<br>&nbsp;&nbsp;&nbsp;&nbsp; *<br>&nbsp;&nbsp;&nbsp;&nbsp; * 分割字符串，原理：检测字符串中的分割字符串，然后取子串<br>&nbsp;&nbsp;&nbsp;&nbsp; *<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param original 需要分割的字符串<br>&nbsp;&nbsp;&nbsp;&nbsp; *<br>&nbsp;&nbsp;&nbsp;&nbsp; * @paran regex 分割字符串<br>&nbsp;&nbsp;&nbsp;&nbsp; *<br>&nbsp;&nbsp;&nbsp;&nbsp; * @return 分割后生成的字符串数组<br>&nbsp;&nbsp;&nbsp;&nbsp; *<br>&nbsp;&nbsp;&nbsp;&nbsp; */&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; public String[] split(String original,String regex)&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;取子串的起始位置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int startIndex = 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;将结果数据先放入Vector中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vector v = new Vector();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;返回的结果字符串数组&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String[] str = null;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int index = 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;获得匹配子串的位置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; startIndex = original.indexOf(regex);&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;System.out.println("0" + startIndex);&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;-1代表取到了末尾&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(startIndex &lt; original.length() &amp;&amp; startIndex != -1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&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;&nbsp;&nbsp; String temp = original.substring(index,startIndex);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &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;&nbsp;&nbsp; //&nbsp;System.out.println(" " + startIndex);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp; //&nbsp;取子串&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.addElement(temp);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&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;&nbsp;&nbsp; index = startIndex + regex.length();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&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;&nbsp;&nbsp; startIndex = original.indexOf(regex,startIndex + regex.length());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;取结束的子串&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.addElement(original.substring(index));&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;将Vector对象转换成数组&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str = new String[v.size()];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=0;i&lt;v.size();i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&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;&nbsp;&nbsp; str[i] = (String)v.elementAt(i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;//&nbsp;返回生成的数组&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return str;&nbsp; <br>&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp; * 功能描述:获取最后一个字符串<br>&nbsp;&nbsp;&nbsp;&nbsp; * @author ZhouMingXing<br>&nbsp;&nbsp;&nbsp;&nbsp; */<br>&nbsp;&nbsp;&nbsp; public String getLastString(String[] values ){<br>&nbsp;&nbsp;&nbsp;&nbsp; int length = values.length;<br>&nbsp;&nbsp;&nbsp;&nbsp; if(length == 0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br>&nbsp;&nbsp;&nbsp;&nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return values[length-1];<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;}<br>&nbsp;<br>&nbsp;//测试用途<br>&nbsp;public static void main(String[] args){<br>&nbsp;&nbsp;MyBean user = new MyBean();&nbsp;&nbsp;<br>&nbsp;&nbsp;try {<br>&nbsp;&nbsp;&nbsp;new BeanWaper(user,new java.sql.ResultSet()).waperBean(result);<br>&nbsp;&nbsp;&nbsp;System.out.println("最后结果信息如下:"+"\n"+user.getId()+"&nbsp; "+user.getName()+"&nbsp; "+user.getNumber()+"&nbsp; "+user.getMyBirthed()+"&nbsp;&nbsp; "+user.getMyImage()+"&nbsp;&nbsp; "+user.getPassword()+""+"");<br>&nbsp;&nbsp;} catch (NumberFormatException e) {<br>&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;System.out.println("9.打印异常信息如下:"+"\n"+e);<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;} catch (SQLException e) {<br>&nbsp;&nbsp;&nbsp;// TODO Auto-generated catch block<br>&nbsp;&nbsp;&nbsp;e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;System.out.println("10.打印异常信息如下:"+"\n"+e);<br>&nbsp;&nbsp;}<br>&nbsp;}<br>}<br></p>
<img src ="http://www.blogjava.net/xiaoniao/aggbug/114693.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaoniao/" target="_blank">小鸟</a> 2007-04-30 08:49 <a href="http://www.blogjava.net/xiaoniao/archive/2007/04/30/114693.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>