﻿<?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-生命是一种过程-随笔分类-web</title><link>http://www.blogjava.net/love-java/category/6141.html</link><description>事情的结果尽管重要，但是做事情的过程更加重要，因为结果好了我们会更加快乐，但过程使我们的生命充实！</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:23:57 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:23:57 GMT</pubDate><ttl>60</ttl><item><title>在b/s开发中经常用到的javaScript技术</title><link>http://www.blogjava.net/love-java/archive/2006/04/28/43715.html</link><dc:creator>隐语者</dc:creator><author>隐语者</author><pubDate>Fri, 28 Apr 2006 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/love-java/archive/2006/04/28/43715.html</guid><wfw:comment>http://www.blogjava.net/love-java/comments/43715.html</wfw:comment><comments>http://www.blogjava.net/love-java/archive/2006/04/28/43715.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love-java/comments/commentRss/43715.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love-java/services/trackbacks/43715.html</trackback:ping><description><![CDATA[
		<font color="#000000" size="2">
				<span id="ArticleContent1_ArticleContent1_lblContent">
						<p>转自 <a id="ArticleContent1_ArticleContent1_AuthorBlogLink" href="http://blog.csdn.net/arcow/" target="_blank">http://blog.csdn.net/arcow/</a></p>
						<p>在b/s开发中经常用到的javaScript技术  <br />一、验证类<br />1、数字验证内<br />  1.1 整数<br />  1.2 大于0的整数 （用于传来的ID的验证)<br />  1.3 负整数的验证<br />  1.4 整数不能大于iMax<br />  1.5 整数不能小于iMin<br />2、时间类<br />  2.1 短时间，形如 (13:04:06)<br />  2.2 短日期，形如 (2003-12-05)<br />  2.3 长时间，形如 (2003-12-05 13:04:06)<br />  2.4 只有年和月。形如(2003-05,或者2003-5)<br />  2.5 只有小时和分钟,形如(12:03)<br />3、表单类<br />  3.1 所有的表单的值都不能为空<br />  3.2 多行文本框的值不能为空。<br />  3.3 多行文本框的值不能超过sMaxStrleng<br />  3.4 多行文本框的值不能少于sMixStrleng<br />  3.5 判断单选框是否选择。<br />  3.6 判断复选框是否选择.<br />  3.7 复选框的全选，多选，全不选，反选<br />  3.8 文件上传过程中判断文件类型<br />4、字符类<br />  4.1 判断字符全部由a-Z或者是A-Z的字字母组成<br />  4.2 判断字符由字母和数字组成。<br />  4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br />  4.4 字符串替换函数.Replace();<br />5、浏览器类<br />  5.1 判断浏览器的类型<br />  5.2 判断ie的版本<br />  5.3 判断客户端的分辨率<br />  <br />6、结合类<br />  6.1 email的判断。<br />  6.2 手机号码的验证<br />  6.3 身份证的验证<br />  </p>
						<p>二、功能类</p>
						<p>1、时间与相关控件类<br />  1.1 日历<br />  1.2 时间控件<br />  1.3 万年历<br />  1.4 显示动态显示时钟效果（文本，如OA中时间）<br />  1.5 显示动态显示时钟效果 (图像，像手表) <br />2、表单类<br />  2.1 自动生成表单<br />  2.2 动态添加，修改，删除下拉框中的元素<br />  2.3 可以输入内容的下拉框<br />  2.4 多行文本框中只能输入iMax文字。如果多输入了，自动减少到iMax个文字（多用于短信发送)<br />  <br />3、打印类<br />  3.1 打印控件<br />4、事件类<br />  4.1 屏蔽右键<br />  4.2 屏蔽所有功能键<br />  4.3 --&gt; 和&lt;-- F5 F11,F9,F1<br />  4.4 屏蔽组合键ctrl+N<br />5、网页设计类<br />  5.1 连续滚动的文字，图片（注意是连续的，两段文字和图片中没有空白出现）<br />  5.2 html编辑控件类<br />  5.3 颜色选取框控件<br />  5.4 下拉菜单<br />  5.5 两层或多层次的下拉菜单<br />  5.6 仿IE菜单的按钮。（效果如rongshuxa.com的导航栏目)<br />  5.7 状态栏，title栏的动态效果（例子很多，可以研究一下）<br />  5.8 双击后，网页自动滚屏<br />6、树型结构。<br />  6.1 asp+SQL版<br />  6.2 asp+xml+sql版<br />  6.3 java+sql或者java+sql+xml<br />7、无边框效果的制作<br />8、连动下拉框技术<br />9、文本排序</p>
						<p>
								<br />一、验证类<br />1、数字验证内<br />  1.1 整数<br />      /^(-|+)?d+$/.test(str)<br />  1.2 大于0的整数 （用于传来的ID的验证)<br />      /^d+$/.test(str)<br />  1.3 负整数的验证<br />      /^-d+$/.test(str)<br />2、时间类<br />  2.1 短时间，形如 (13:04:06)<br />      function isTime(str)<br />      {<br />        var a = str.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/);<br />        if (a == null) {alert('输入的参数不是时间格式'); return false;}<br />        if (a[1]&gt;24 || a[3]&gt;60 || a[4]&gt;60)<br />        {<br />          alert("时间格式不对");<br />          return false<br />        }<br />        return true;<br />      }<br />  2.2 短日期，形如 (2003-12-05)<br />      function strDateTime(str)<br />      {<br />         var r = str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/); <br />         if(r==null)return false; <br />         var d= new Date(r[1], r[3]-1, r[4]); <br />         return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]);<br />      }<br />  2.3 长时间，形如 (2003-12-05 13:04:06)<br />      function strDateTime(str)<br />      {<br />        var reg = /^(d{1,4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/; <br />        var r = str.match(reg); <br />        if(r==null)return false; <br />        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); <br />       
return
(d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]&amp;&amp;d.getHours()==r[5]&amp;&amp;d.getMinutes()==r[6]&amp;&amp;d.getSeconds()==r[7]);<br />      }<br />  2.4 只有年和月。形如(2003-05,或者2003-5)<br />  2.5 只有小时和分钟,形如(12:03)<br />3、表单类<br />  3.1 所有的表单的值都不能为空<br />      &lt;input onblur="if(this.value.replace(/^s+|s+$/g,'')=='')alert('不能为空!')"&gt;<br />  3.2 多行文本框的值不能为空。<br />  3.3 多行文本框的值不能超过sMaxStrleng<br />  3.4 多行文本框的值不能少于sMixStrleng<br />  3.5 判断单选框是否选择。<br />  3.6 判断复选框是否选择.<br />  3.7 复选框的全选，多选，全不选，反选<br />  3.8 文件上传过程中判断文件类型<br />4、字符类<br />  4.1 判断字符全部由a-Z或者是A-Z的字字母组成<br />      &lt;input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')"&gt;<br />  4.2 判断字符由字母和数字组成。<br />      &lt;input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')"&gt;<br />  4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br />      /^([a-zA-z_]{1})([w]*)$/g.test(str)<br />  4.4 字符串替换函数.Replace();<br />5、浏览器类<br />  5.1 判断浏览器的类型<br />      window.navigator.appName<br />  5.2 判断ie的版本<br />      window.navigator.appVersion<br />  5.3 判断客户端的分辨率<br />      window.screen.height;  window.screen.width;<br />  <br />6、结合类<br />  6.1 email的判断。<br />      function ismail(mail)<br />      {<br />        return(new RegExp(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/).test(mail));<br />      }<br />  6.2 手机号码的验证<br />  6.3 身份证的验证<br />      function isIdCardNo(num)<br />      {<br />        if (isNaN(num)) {alert("输入的不是数字！"); return false;}<br />        var len = num.length, re; <br />        if (len == 15)<br />          re = new RegExp(/^(d{6})()?(d{2})(d{2})(d{2})(d{3})$/);<br />        else if (len == 18)<br />          re = new RegExp(/^(d{6})()?(d{4})(d{2})(d{2})(d{3})(d)$/);<br />        else {alert("输入的数字位数不对！"); return false;}<br />        var a = num.match(re);<br />        if (a != null)<br />        {<br />          if (len==15)<br />          {<br />            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);<br />            var B = D.getYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br />          }<br />          else<br />          {<br />            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);<br />            var B = D.getFullYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br />          }<br />          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对！"); return false;}<br />        }<br />        return true;<br />      }</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 />  var a = document.getElementsByName(str);<br />  var n = a.length;<br />  for (var i=0; i&lt;n; i++)<br />  a[i].checked = window.event.srcElement.checked;<br />}<br />function checkItem(str)<br />{<br />  var e = window.event.srcElement;<br />  var all = eval("document.hrong."+ str);<br />  if (e.checked)<br />  {<br />    var a = document.getElementsByName(e.name);<br />    all.checked = true;<br />    for (var i=0; i&lt;a.length; i++)<br />    {<br />      if (!a[i].checked){ all.checked = false; break;}<br />    }<br />  }<br />  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>
				</span>
		</font>
<img src ="http://www.blogjava.net/love-java/aggbug/43715.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love-java/" target="_blank">隐语者</a> 2006-04-28 09:47 <a href="http://www.blogjava.net/love-java/archive/2006/04/28/43715.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>