在b-s开发中经常用到的javaScript技术
- 格式:doc
- 大小:83.00 KB
- 文档页数:22
b s架构的工作原理
B/S架构(Browser/Server架构)是一种基于浏览器和服务器之间的交互模式,它的工作原理可以分为以下几个步骤:
1. 用户在浏览器(Client)上输入网址或点击链接,发送HTTP请求到服务器。
2. 服务器(Server)接收到请求后,根据请求的信息进行处理和分析,比如请求的页面、数据等。
3. 服务器根据处理结果生成HTML、CSS、JavaScript等前端代码,构建成一个完整的网页,并将生成的网页作为响应返回给浏览器。
4. 浏览器接收到服务器响应后,解析HTML结构,并请求加载其中包含的CSS、JavaScript等静态资源。
5. 浏览器根据解析到的HTML、CSS、JavaScript等代码,渲染页面,呈现给用户。
6. 当用户与页面进行交互时,浏览器会执行JavaScript脚本,与服务器进行异步请求,发送表单数据或获取页面数据。
7. 服务器接收到浏览器发送的请求,进行处理和分析,比如处理表单数据,查询数据库等。
8. 服务器将处理结果生成的数据或页面,作为响应返回给浏览
器。
9. 浏览器接收到服务器响应后,根据响应的内容进行更新,例如更新页面内容、显示数据等。
这样,B/S架构通过浏览器和服务器之间的交互,实现了客户
端/服务器端的分工,将前端负责用户界面显示、交互逻辑,
后端负责数据处理、业务逻辑。
这样的架构能够提高系统的可维护性、跨平台性,并且能够方便地实现多用户同时访问系统。
JavaScript编程语言的基础知识与应用技巧第一章:JavaScript编程语言的基础知识JavaScript是一种广泛应用于Web开发的脚本语言,它为网页增加了动态交互和实时更新的能力。
作为前端开发者,掌握JavaScript的基础知识是非常重要的。
1.1 变量和数据类型在JavaScript中,我们可以使用变量来存储和操作数据。
变量的定义使用关键字var,如:var age = 20;。
JavaScript的数据类型包括:字符串(String)、数字(Number)、布尔值(Boolean)、数组(Array)、对象(Object)等。
1.2 运算符和表达式JavaScript支持常见的算术、赋值、逻辑、比较等运算符,例如加法运算符+,赋值运算符=,逻辑与运算符&&,等等。
表达式是由变量、常量和运算符组成的。
1.3 控制流程控制流程用于控制程序的执行顺序。
JavaScript提供了条件语句(if-else语句、switch语句)、循环语句(for循环、while循环)以及其他控制语句(break语句、continue语句)等。
1.4 函数和作用域函数是一段可重复使用的代码块,它接受参数,并返回一个值。
在JavaScript中,函数的定义使用关键字function,如:function add(a, b) { return a + b; }。
作用域决定了变量的可见性和生命周期。
第二章:JavaScript编程的应用技巧2.1 DOM操作DOM(Document Object Model)是HTML和XML的编程接口,通过JavaScript可以对DOM进行操作,实现网页元素的增删改查。
常用的DOM操作方法包括getElementById、getElementsByTagName、appendChild等。
2.2 事件处理JavaScript通过事件处理函数来响应用户的操作。
ASP JavaScript概述在Ajax没有出现之前,JavaScript是一种可选的技术;当Ajax出现之后,Java Script就像纽带一样,把其他技术有机地结合在一起,使各种“老技术”发挥各自特色的同时,与其他技术结合得到了意想不到的新效果。
另外,很多Ajax引擎和A jax框架都是用JavaScript脚本语言编写,更加显示了JavaScript在Ajax中的核心地位。
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。
用户可以将JavaScript嵌入到普通的HTML网页里并由浏览器执行,从而可以实现动态实时的效果。
1.数据类型作为一种脚本语言,JavaScript有其自己的语法结构。
JavaScript允许使用三种基础的数据类型:整型、字符串和布尔值。
此外,还支持两种复合的数据类型:对象和数组,都是基础数据类型的集合。
作为一种通用数据类型的对象,在JavaScri pt中也支持,函数和数组都是特殊的对象类型。
另外,JavaScript还为特殊的目的定义了其他特殊的对象类型,例如Date对象表示的是一个日期和时间类型。
JavaScri pt的这6种数据类型,如表6-8所示。
表6-8 JavaScript中数据类型2.变量与常量在JavaScript中变量用来存放脚本中的值,这样在需要用这个值的地方就可以用变量来代表,一个变量可以是一个数字,文本或者其它一些东西。
JavaScript是一种对数据类型变量要求不太严格的语言,所以不必声明每一个变量的类型,变量声明尽管并不必须,但在使用变量之前先进行声明是一种好的习惯。
可以使用var语句来进行变量声明。
如:在上面的示例中,命名了三个变量men、intCount和strName,类型分别是布尔型、整型和字符串类型。
在命名变量时,要注意JavaScript是一种区分大小写的语言,因此将一个变量命名为men和将其命名为MEN不一样。
使用JavaScript库开发Web应用第一章:介绍JavaScript库JavaScript库是一种预先编写好的JavaScript代码集合,用于简化和优化Web开发过程。
它们提供了一系列功能和工具,可以轻松地添加动态和交互式元素到网页上。
使用JavaScript库,开发者可以更高效地构建Web应用,并提供更好的用户体验。
第二章:流行的JavaScript库2.1 jQuery:jQuery是最受欢迎和广泛使用的JavaScript库之一。
它简化了HTML文档操作、事件处理、动画效果和异步请求等常见任务。
开发者可以轻松地通过选择器获取和操作DOM元素,实现动态的用户界面交互。
2.2 React:React是一个用于构建用户界面的JavaScript库。
它提供了一种声明式的方式来定义界面组件,并通过组件间的数据传递实现响应式的UI更新。
React的虚拟DOM机制使得应用在性能方面表现优秀,适合构建大规模的单页应用。
2.3 Vue.js:Vue.js是另一个流行的JavaScript库,用于构建用户界面。
它具有类似React的响应式数据绑定能力,但也更加轻量级和易学习。
Vue.js使用了模板语法和组件化开发模式,使得构建复杂的UI界面变得更加简单和高效。
第三章:使用JavaScript库开发Web应用的优势使用JavaScript库开发Web应用具有以下优势:3.1 提高开发效率:JavaScript库提供了一系列封装好的功能和工具,开发者无需从零开始编写重复的代码,可以直接利用已有的解决方案。
这大大减少了开发时间和工作量,提高了开发效率。
3.2 丰富的生态系统:流行的JavaScript库拥有庞大的开发者社区,因此可以找到许多开源的插件和扩展,以满足各种需求。
这些插件和扩展使开发者可以轻松地扩展和定制应用,以实现特定的功能和效果。
3.3 跨平台兼容性:JavaScript库可以在各种浏览器和操作系统上运行,这极大地提高了应用的跨平台兼容性。
JavaScript开发技术详解JavaScript是一种用于网站开发的脚本语言,它可以让网页具有动态性和交互性。
在网页开发中,JavaScript被广泛应用于处理用户输入、动态更新页面内容、实现动画效果等方面。
本文将详细介绍JavaScript的开发技术,包括语法、变量、数据类型、函数、对象等内容。
首先,让我们从JavaScript的语法入手。
JavaScript的语法与其他编程语言类似,包括注释、变量、函数、条件语句、循环语句等。
注释用于给代码添加说明,可以是单行注释(以“//”开头)或多行注释(以“/*”和“*/”包围)。
变量用于存储数据,可以使用var、let或const关键字声明变量。
函数用于封装可重复使用的代码块,可以使用function关键字定义函数。
条件语句(例如if语句)用于根据条件执行不同的代码块,而循环语句(例如for循环)用于重复执行代码块。
接下来,让我们了解JavaScript中的数据类型。
JavaScript有基本数据类型(例如字符串、数字、布尔值、null和undefined)和复杂数据类型(例如数组和对象)。
字符串用于表示文本数据,可以使用单引号或双引号包围。
数字用于表示数值数据,可以是整数或浮点数。
布尔值用于表示逻辑值,只有true和false两个取值。
null表示一个空值,undefined表示一个未定义的值。
数组用于存储多个数据,可以是不同类型的数据。
对象用于存储键值对的集合,可以是属性或方法。
在JavaScript中,函数是一种特殊的对象,可以赋值给变量、作为参数传递、作为返回值返回等。
函数可以有参数和返回值,参数可以是任意类型的数据,返回值也可以是任意类型的数据。
函数可以是命名函数(通过function关键字定义)或匿名函数(通过赋值给变量或作为参数传递)。
函数可以被调用执行,也可以被作为事件处理函数等。
除了函数,JavaScript中的对象也是非常重要的概念。
B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。
它是随着Internet技术的兴起,对C/S结构的一种变化和改进。
主要利用了不断成熟的WWW浏览器技术,结合多种Script 语言(VBScript、JavaScript…)和ActiveX技术,是一种全新的软件系统构造技术。
B/S三层体系结构采用三层客户/服务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。
三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次,如图2所示。
三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。
中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。
这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。
随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。
B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。
但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。
JavaScript的技术特点和应用JavaScript是一种广泛应用于Web开发的脚本语言,它具有许多独特的技术特点和广泛的应用场景。
本文将探讨JavaScript的技术特点以及它在不同领域的应用。
1. 弱类型语言JavaScript是一种弱类型语言,这意味着在定义变量时不需要指定变量的数据类型。
这种特点使得JavaScript非常灵活,开发人员可以根据需要随时改变变量的数据类型。
然而,这也可能导致一些潜在的问题,如类型错误和难以调试。
因此,在编写JavaScript代码时,开发人员需要特别注意变量的数据类型。
2. 面向对象编程JavaScript支持面向对象编程(OOP),开发人员可以使用类、对象、继承和多态等概念来组织和管理代码。
这种编程范式提供了更好的代码复用性和可维护性。
通过封装、继承和多态等特性,开发人员可以更好地组织代码,提高开发效率。
3. 事件驱动编程JavaScript是一种事件驱动的编程语言,它可以通过监听和响应事件来实现交互性和动态性。
在Web开发中,开发人员可以使用JavaScript来响应用户的鼠标点击、键盘输入和页面加载等事件,从而实现各种交互效果。
这种事件驱动的编程方式使得Web应用程序更加灵活和响应式。
4. 跨平台性JavaScript是一种跨平台的编程语言,它可以在不同的操作系统和设备上运行。
无论是在Windows、Mac还是Linux系统上,无论是在桌面、移动端还是嵌入式设备上,JavaScript都可以发挥作用。
这种跨平台性使得JavaScript成为一种广泛应用于Web开发的技术。
除了以上的技术特点,JavaScript还有许多其他的特点,如动态性、扩展性和易学性等。
这些特点使得JavaScript成为一种非常受欢迎的编程语言,并广泛应用于Web开发、游戏开发、移动应用开发等领域。
在Web开发中,JavaScript可以用于实现各种交互效果,如表单验证、动态内容加载和页面动画等。
B/S软件开发测试规范_试行编者按:软件测试是软件项目开发过程中不可忽视的重要组成部分,是保证项目实施进度与实施质量的重要手段。
完全依靠开发人员或测试人员自身的素质决定着软件效果的时代已经不复存在。
但是,由于B/S行业团队与机构分散,不同的行业团队中对于B/S开发中测试方式、测试方法、测试内容、测试结果的描述等又各有差异,因此在团队内部人员或是团队与团队之间协作时,测试完全处于无序状态,为了避免以上问题,解决各种歧义、杜绝测试人员由于自身素质导致的测试质量问题,我们需要一套完整的B/S测试规范。
B/S软件测试规范的作用是使B/S测试过程更加标准化,以便于B/S软件开发过程的管理,同时也使开发的过程更加规范化。
B/S软件测试规范可使测试报告严谨、可读性强且责任清楚,语言约定相一致,并且尽可能的直观。
通过统一的标准使得团队可以按照相同的习惯去工作,目前该规范从我们的项目经验中整理,并在对规范1.0.06规范实施半年后整理为1.1.0604_试行版本,在该期《领航人》中同各位分享。
在此也希望得到更多行业团队对于该规范的使用,并且也非常希望能有更多的行业团队或是机构能共同参与一起发展后续版本的制订。
如有更多的兴趣可发送邮件至****************与我们联系。
在本期月刊中,我们将详细介绍“B/S软件开发测试规范_试行1.1.0604”,希望对各位在软件测试的理解和学习方面能有所帮助。
段落导航:为了方便大家的阅读,我们将本期内容进行了合理的分类,您可以使用下面的链接浏览您感兴趣的主题。
o适用对象和范围o什么是软件测试o软件测试的目的o术语、名词定义o软件命名规范o测试任务描述o测试工作流程图o测试提交文档o测试方法和方式o通过测试的标准o实施建议o附录一:缺陷分类o附录二:缺陷严重程度o附录三:优先级o附录四:测试计划审批意见1.适用对象和范围主要适用对象为软件管理人员、软件开发人员、软件测试人员以及软件维护人员。
一、什么是JavaScriptJavaScript是一种广泛应用于网页开发的脚本语言,它可以为网页增加动态功能。
JavaScript主要用于与用户交互,例如验证表单输入、创建动画效果、动态更新页面等。
与HTML和CSS一起,JavaScript 组成了现代网页的核心技术之一。
二、 JavaScript的历史JavaScript最初是由Netscape公司的布兰登·艾奇(Brendan Eich)在1995年创建的。
它起初被称为LiveScript,后来改为JavaScript。
虽然它的名字和语法与Java相似,但实际上两者之间并没有太多的关系。
三、 JavaScript的用途1. 网页交互JavaScript可以用来处理用户在网页上的交互行为,比如点击按钮、输入文本等。
通过JavaScript,我们可以动态地改变网页内容、验证用户输入、响应用户操作等。
2. 网页动态效果JavaScript可以用来创建各种动态效果,比如轮播图、滚动效果、弹出框等。
这些动态效果可以为网页增添活力,提升用户体验。
3. 数据交互JavaScript可以用来向服务器发送请求并处理返回的数据,实现前后端交互。
通过Ajax技术,可以实现网页的局部刷新,提升用户体验。
4. 前端框架JavaScript还可以用来创建各种前端框架,比如React、Vue、Angular等。
这些框架可以大大简化前端开发,提供丰富的组件和工具,极大地提高了开发效率。
5. 服务器端开发除了在客户端开发中广泛使用外,JavaScript也可以用于服务器端开发。
Node.js就是一个使用JavaScript进行服务器端开发的评台,它可以实现高性能的后端服务。
6. 游戏开发近年来,JavaScript在游戏开发领域也有了广泛的应用。
借助HTML5技术,JavaScript可以在各种设备上实现高性能的游戏。
7. 应用开发JavaScript还可以用来开发各种类型的应用,包括桌面应用和移动应用。
JavaScript游戏开发知识点JavaScript是一种广泛应用于前端开发的脚本语言,它具有灵活性和易学性,使其成为开发游戏的理想选择。
本文将介绍JavaScript游戏开发中的一些重要知识点,帮助读者了解和掌握这门语言。
一、Canvas绘图Canvas是HTML5提供的一个2D绘图API,它可以通过JavaScript来动态地绘制图形、动画和游戏场景。
使用Canvas可以实现游戏中的图像渲染、碰撞检测以及动画效果等功能。
开发者可以使用Canvas提供的API来绘制直线、填充颜色、绘制图像等操作,从而创建出精美的游戏画面。
二、键盘事件处理开发游戏通常需要对用户输入做出响应,而键盘事件处理就是一种常见的方式。
通过JavaScript可以监听键盘事件,根据用户的按键操作来控制游戏角色的移动、攻击等行为。
常用的键盘事件包括keydown、keyup等,通过对这些事件进行监听和处理,可以实现与用户的互动。
三、碰撞检测在游戏开发中,碰撞检测是非常重要的一项技术。
通过JavaScript可以实现对游戏场景中各个元素之间的碰撞进行检测,从而触发相应的游戏逻辑。
常见的碰撞检测算法包括包围盒碰撞检测、像素级碰撞检测等,开发者可以根据具体情况选择合适的算法来应用在游戏中。
四、游戏动画在游戏中添加动画效果可以使游戏更加生动有趣。
通过JavaScript 可以实现游戏中的动画效果,比如角色的移动、攻击、死亡等动作。
可以使用requestAnimationFrame函数来制作流畅的动画效果,并通过计算帧率来控制动画的展示速度。
五、游戏音效游戏中的音效可以增加游戏的趣味性和真实感。
通过JavaScript可以实现音效的添加和控制,使游戏更加生动有趣。
可以使用HTML5的Audio对象来加载和播放游戏音效,同时可以通过JavaScript控制音效的播放和停止等操作。
六、游戏引擎游戏引擎是一种开发游戏的快速工具,可以提供常见的游戏开发功能和工具,简化开发流程。
在b/s开发中经常用到的javaScript技术一、验证类1、数字验证内1.1 整数1.2 大于0的整数(用于传来的ID的验证)1.3 负整数的验证1.4 整数不能大于iMax1.5 整数不能小于iMin2、时间类2.1 短时间,形如(13:04:06)2.2 短日期,形如(2003-12-05)2.3 长时间,形如(2003-12-05 13:04:06)2.4 只有年和月。
形如(2003-05,或者2003-5)2.5 只有小时和分钟,形如(12:03)3、表单类3.1 所有的表单的值都不能为空3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng3.4 多行文本框的值不能少于sMixStrleng3.5 判断单选框是否选择。
3.6 判断复选框是否选择.3.7 复选框的全选,多选,全不选,反选3.8 文件上传过程中判断文件类型4、字符类4.1 判断字符全部由a-Z或者是A-Z的字字母组成4.2 判断字符由字母和数字组成。
4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母4.4 字符串替换函数.Replace();5、浏览器类5.1 判断浏览器的类型5.2 判断ie的版本5.3 判断客户端的分辨率6、结合类6.1 email的判断。
6.2 手机号码的验证6.3 身份证的验证二、功能类1、时间与相关控件类1.1 日历1.2 时间控件1.3 万年历1.4 显示动态显示时钟效果(文本,如OA中时间)1.5 显示动态显示时钟效果(图像,像手表)2、表单类2.1 自动生成表单2.2 动态添加,修改,删除下拉框中的元素2.3 可以输入内容的下拉框2.4 多行文本框中只能输入iMax文字。
如果多输入了,自动减少到iMax个文字(多用于短信发送)3、打印类3.1 打印控件4、事件类4.1 屏蔽右键4.2 屏蔽所有功能键4.3 --> 和<-- F5 F11,F9,F14.4 屏蔽组合键ctrl+N5、网页设计类5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现)5.2 html编辑控件类5.3 颜色选取框控件5.4 下拉菜单5.5 两层或多层次的下拉菜单5.6 仿IE菜单的按钮。
(效果如的导航栏目)5.7 状态栏,title栏的动态效果(例子很多,可以研究一下)5.8 双击后,网页自动滚屏6、树型结构。
6.1 asp+SQL版6.2 asp+xml+sql版6.3 java+sql或者java+sql+xml7、无边框效果的制作8、连动下拉框技术9、文本排序一、验证类1、数字验证内1.1 整数/^(-|\+)?\d+$/.test(str)1.2 大于0的整数(用于传来的ID的验证)/^\d+$/.test(str)1.3 负整数的验证/^-\d+$/.test(str)2、时间类2.1 短时间,形如(13:04:06)function isTime(str){var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);if (a == null) {alert('输入的参数不是时间格式'); return false;}if (a[1]>24 || a[3]>60 || a[4]>60){alert("时间格式不对");return false}return true;}2.2 短日期,形如(2003-12-05)function strDateTime(str){var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);if(r==null)return false;var d= new Date(r[1], r[3]-1, r[4]);return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);}2.3 长时间,形如(2003-12-05 13:04:06)function strDateTime(str){var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;var r = str.match(reg);if(r==null)return false;var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.ge }2.4 只有年和月。
形如(2003-05,或者2003-5)2.5 只有小时和分钟,形如(12:03)3、表单类3.1 所有的表单的值都不能为空<input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能为空!')">3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng3.4 多行文本框的值不能少于sMixStrleng3.5 判断单选框是否选择。
3.6 判断复选框是否选择.3.7 复选框的全选,多选,全不选,反选3.8 文件上传过程中判断文件类型4、字符类4.1 判断字符全部由a-Z或者是A-Z的字字母组成<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">4.2 判断字符由字母和数字组成。
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')">4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母/^([a-zA-z_]{1})([\w]*)$/g.test(str)4.4 字符串替换函数.Replace();5、浏览器类5.1 判断浏览器的类型window.navigator.appName5.2 判断ie的版本window.navigator.appVersion5.3 判断客户端的分辨率window.screen.height; window.screen.width;6、结合类6.1 email的判断。
function ismail(mail){return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));}6.2 手机号码的验证6.3 身份证的验证function isIdCardNo(num){if (isNaN(num)) {alert("输入的不是数字!"); return false;}var len = num.length, re;if (len == 15)re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);else if (len == 18)re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);else {alert("输入的数字位数不对!"); return false;}var a = num.match(re);if (a != null){if (len==15){var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];}else{var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];}if (!B) {alert("输入的身份证号"+ a[0] +" 里出生日期不对!"); return false;}}return true;}3.7 复选框的全选,多选,全不选,反选<form name=hrong><input type=checkbox name=All onclick="checkAll('mm')">全选<br/> <input type=checkbox name=mm onclick="checkItem('All')"><br/><input type=checkbox name=mm onclick="checkItem('All')"><br/><input type=checkbox name=mm onclick="checkItem('All')"><br/><input type=checkbox name=mm onclick="checkItem('All')"><br/><input type=checkbox name=mm onclick="checkItem('All')"><br/><br/><input type=checkbox name=All2 onclick="checkAll('mm2')">全选<br/> <input type=checkbox name=mm2 onclick="checkItem('All2')"><br/><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/></form><SCRIPT LANGUAGE="JavaScript">function checkAll(str){var a = document.getElementsByName(str);var n = a.length;for (var i=0; i<n; i++)a[i].checked = window.event.srcElement.checked;}function checkItem(str){var e = window.event.srcElement;var all = eval("document.hrong."+ str);if (e.checked){var a = document.getElementsByName();all.checked = true;for (var i=0; i<a.length; i++){if (!a[i].checked){ all.checked = false; break;}}}else all.checked = false;}</SCRIPT>3.8 文件上传过程中判断文件类型<input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])">画图:<OBJECTid=Sstyle="LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px"height=240width=392classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6"></OBJECT><SCRIPT>S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);S.DrawingSurface.ArcRadians(30,0,0,30,50,60);S.DrawingSurface.Line(10,10,100,100);</SCRIPT>写注册表:<SCRIPT>var WshShell = WScript.CreateObject("WScript.Shell");WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ"); var bKey = WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader")); WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");WshShell.RegDelete ("HKCU\\Software\\ACME\\");</SCRIPT>TABLAE相关(客户端动态增加行列)<HTML><SCRIPT LANGUAGE="JScript">function numberCells() {var count=0;for (i=0; i < document.all.mytable.rows.length; i++) {for (j=0; j < document.all.mytable.rows(i).cells.length; j++) {document.all.mytable.rows(i).cells(j).innerText = count;count++;}}}</SCRIPT><BODY onload="numberCells()"><TABLE id=mytable border=1><TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR><TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR></TABLE></BODY></HTML>1.身份证严格验证:<script>var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:" ",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃台湾",81:"香港",82:"澳门",91:"国外"}function cidInfo(sId){var iSum=0var info=""if(!/^\d{17}(\d|x)$/i.test(sId))return false;sId=sId.replace(/x$/i,"a");if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));var d=new Date(sBirthday.replace(/-/g,"/"))if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)if(iSum%11!=1)return "Error:非法证号";return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")}document.write(cidInfo("380524198002300016"),"<br/>");document.write(cidInfo("340524************"),"<br/>")document.write(cidInfo("340524************"),"<br/>")document.write(cidInfo("340524************"),"<br/>");</script>2.验证IP地址<SCRIPT LANGUAGE="JavaScript">function isip(s){var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};var re=s.split(".")return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false}var s="202.197.78.129";alert(isip(s))</SCRIPT>3.加sp1后还能用的无边框窗口!!<HTML XMLNS:IE><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><IE:Download ID="include" STYLE="behavior:url(#default#download)" /><title>Chromeless Window</title><SCRIPT LANGUAGE="JScript">/*--- Special Thanks For andot ---*//*This following code are designed and writen by Windy_sk <seasonx@>You can use it freely, but u must held all the copyright items!*//*--- Thanks For andot Again ---*/var CW_width = 400;var CW_height = 300;var CW_top = 100;var CW_left = 100;var CW_url = "/";var New_CW = window.createPopup();var CW_Body = New_CW.document.body;var content = "";var CSStext = "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyl onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size//Build Windowinclude.startDownload(CW_url, function(source){content=source});function insert_content(){var temp = "";CW_Body.style.overflow = "hidden";CW_Body.style.backgroundColor = "white";CW_Body.style.border = "solid black 1px";content = content.replace(/<a ([^>]*)>/g,"<a onclick='parent.open(this.href);return false' $1>");temp += "<table width=100% height=100% cellpadding=0 cellspacing=0 border=0>";temp += "<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(evonmousemove='parent.drag_move(event)' onmousedown='parent.drag_down(event)' onselectstart='return false' oncontextmenu='return false temp += "<td style='color:#ffffff;padding-left:5px'>Chromeless Window For IE6 SP1</td>";temp += "<td style='color:#ffffff;padding-right:5px;' align=right>";temp += "<span id=Help onclick=\"alert('Chromeless Window For IE6 SP1 - Ver 1.0\\n\\nCode By Windy_sk\\n\\nSpecial Thanks For a style=\""+CSStext+"font-family:System;padding-right:2px;\">?</span>";temp += "<span id=Min onclick='parent.New_CW.hide();parent.blur()' style=\""+CSStext+"font-family:Webdings;\" title='Minimum'>0< temp += "<span id=Max onclick=\"this.innerText=this.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();\" style=\"" title='Maximum'>1</span>";temp += "<span id=Close onclick='parent.opener=null;parent.close()' style=\""+CSStext+"font-family:System;padding-right:2px;\" title='Cl temp += "</td></tr><tr><td colspan=2>";temp += "<div id=include style='overflow:scroll;overflow-x:hidden;overflow-y:auto; HEIGHT: 100%; width:"+CW_width+"'>";temp += content;temp += "</div>";temp += "</td></tr></table>";CW_Body.innerHTML = temp;}setTimeout("insert_content()",1000);var if_max = true;function show_CW(){window.moveTo(10000, 10000);if(if_max){New_CW.show(CW_top, CW_left, CW_width, CW_height);if(typeof(New_CW.document.all.include)!="undefined"){New_CW.document.all.include.style.width = CW_width;New_CW.document.all.Max.innerText = "1";}}else{New_CW.show(0, 0, screen.width, screen.height);New_CW.document.all.include.style.width = screen.width;}}window.onfocus = show_CW;window.onresize = show_CW;// Move Windowvar drag_x,drag_y,draging=falsefunction drag_move(e){if (draging){New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);return false;}}function drag_down(e){if(e.button==2)return;if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return; drag_x=e.clientX;drag_y=e.clientY;draging=true;e.srcElement.setCapture();}function drag_up(e){draging=false;e.srcElement.releaseCapture();if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return; CW_top = e.screenX-drag_x;CW_left = e.screenY-drag_y;}</SCRIPT></HTML>电话号码的验证要求:(1)电话号码由数字、"("、")"和"-"构成(2)电话号码为3到8位(3)如果电话号码中包含有区号,那么区号为三位或四位(4)区号用"("、")"或"-"和其他部分隔开(5)移动电话号码为11或12位,如果为12位,那么第一位为0(6)11位移动电话号码的第一位和第二位为"13"(7)12位移动电话号码的第二位和第三位为"13"根据这几条规则,可以与出以下正则表达式:(^[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}$)<script language="javascript">function PhoneCheck(s) {var str=s;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}$)/alert(reg.test(str));}</script><input type=text name="iphone"><input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check">具有在输入非数字字符不回显的效果,即对非数字字符的输入不作反应。