一个Web开发的客户端基础技术测试Demo

简介:

最近参加了一个Web开发的客户端基础技术测试,虽然对于做前台开发的程序员来说比较简单,但对于一直做后台代码编写的程序员想掌握前台开发的基础来说,应该是一个比较好的Demo。对于Web初学者来说,也是一个概括比较全的示例。

先看看具体要求,这里直接把测试要求发了上来。需要注意的是,不能使用Dreamware或者Visual Studio智能工具,最好使用记事本纯手工编写,最多使用EditPlus辅助一下。

WEB开发的客户端基础技术测试要求

下面是我所完成的一个效果:


下面是我的实现代码:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< HEAD >
< TITLE > 用户注册  </ TITLE >
< META  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< META  NAME ="Author"  CONTENT ="" >
< META  NAME ="Keywords"  CONTENT ="" >
< META  NAME ="Description"  CONTENT ="" >

<!--  <LINK rel="stylesheet" type="text/css" href="style/style.css">  -->
< style  type ="text/css" >    /*  CSS 的设置  */
 
/*  input 的设置  */
.myText
{ border-width:1px; border-color:green; color:blue}
 
/*  input 的 Button 设置  */
.myButton
{ border-width:1px; border-color:blue; color:white; font-weight:bold; background-color:"#abcdef" }
 
/*  表格的标题 Caption 设置  */
.myCaption
{ font-size:25px; font-family:"宋体"; font-weight:bold; }
 
/*  Table 的设置  */
.myTable
{ font-size:14px; font-family:"宋体"; border-style:double; border-width:4px; border-color:black;}
 
/* 标题文本的设置  */
.myTitle
{ font-size:16px; font-weight:bolder;background-color="#fedcba" }
 
/* 提示文本的设置  */
.myReg
{ font-size:12px; font-style:italic; color:red;}
 
/* HTML标识的设置  */
a
{ font-size:14px; text-decoration:underline;}
 
/* 锚伪类的设置  */
a:link
{text-decoration:none;}  /* 去掉下划线  -普通状态,没有任何操作- */
a:visited
{border:1px solid #999999;}  /* border相关的3个属性的设置  -使用后的状态- */
a:hover
{}   /*  -鼠标悬停状态- */
a:active
{border-color:gray;}   /*  -鼠标点击后的状态- */

</ style >

<!--  <script src="test.js" ></script>  -->
< script  language ="JavaScript" >    /*  JavaScript 的设置  */
 
function myRusult()
 
{

    
// 判断用户名的格式 
    var user = document.getElementById("userName").value; // 根据 ID 获取文本  innerText
    //var user = document.form.userName.value;            // 根据 name 获取文本
    if( user.length < 8 )
    
{
       window.alert(
"用户名长度小于8位!");
       
return false;
    }


    
// 判断密码的格式 
    var psw = document.form.passWord.value;
    
if( psw.length < 8 || isNaN(psw)==false )
    
{
        window.alert(
"密码长度不能小于8位,并且不能全部为数字!");
       
return false;
    }


    
// 判断重复密码的格式 
    var repsw = document.form.repassword.value;
    
if( repsw != psw)
    
{
       window.alert(
"密码不一致!");
       
return false;
    }
 

    
// 判断性别的格式 
     var subject = "";
    
forvar i=0; i<document.form.sex.length; i++)
    
{
        
if(document.form.sex[i].checked)
        
{
            subject 
= document.form.sex[i].value;
            
break;
        }
  
    }

    
if( subject == "")
    
{
       window.alert(
"请选择性别!");
       
return false;
    }


    
// 判断年龄的格式
    var index = document.form.age.selectedIndex;
    
var uage = document.form.age.options[index].value;
    
if( uage == "")
    
{
        window.alert(
"请选择年龄!");
        
return false;
    }


    
// 职业的选择累加
    var jobs = "";
    
for(var i=0;i<document.form.selectJob.options.length;i++)
    
{
        
if(document.form.selectJob.options[i].selected ==true)
        
{
            jobs 
+= document.form.selectJob.options[i].text; //text    取出其文本,也可以取value
        }

    }

    
if(jobs == "")
    
{
        window.alert(
"请选择职业!");
          
return false;
    }


    
// 判断是否上传的是*.jpg的图片
    var myFile = document.form.File.value;
    
var str = myFile.substr( myFile.lastIndexOf("."+ 1);
    
if( str.toLowerCase() != "jpg" )
    
{
        window.alert(
"上传的文件必需是*.jpg的文件!");
        document.form.File.focus();
        
return false;
    }


    
// 判断个性签名是否在500个字符内
    var myTextarea = document.form.qianming.value;
    
if(myTextarea.length > 200)
    
{
        window.alert(
"个性签名不能大于200个字符!");
        document.form.qianming.focus();
        
return false;
    }


    
return true;
 }


 
function myClose()
 
{
    
if(confirm("是否关闭窗口?"))
    
{
       window.opener 
= null;
       window.close();
    }

 }

</ script >
</ HEAD >

< BODY >
< align ="center" >
< href ="Index.htm" >返回首页 </ a >
< href ="UserLogin.htm" >登录 </ a >
</ p >
< form   method ="post"  name ="form"  onSubmit ="return myRusult();"  action ="DoReg.htm" >
< Table  border ="1px"  cellspacing ="0"  align ="center"  class ="myTable" >
   < caption  align ="top"  class ="myCaption" >填写会员注册资料 </ caption >

   < tr >
       <!--  HTML中的颜色设置 bgcolor="#CBCBCB"  -->
       < td  class ="myTitle" >用户名: </ td >
       < td >< input  type ="text"  name ="userName"  id ="userName"  value =""  class ="myText" ></ input ></ td >
       < td  class ="myReg" >非空,不少于八位字符 </ td >
   </ tr >

   < tr >

       < td  class ="myTitle"   >密码: </ td >
       < td >< input  type ="password"  name ="passWord"  value =""  class ="myText" ></ td >
       < td  class ="myReg" >非空,不少于八位字符,不得为纯数字字符 </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >确认密码: </ td >
       < td >< input  type ="password"  name ="repassword"  value =""  class ="myText" ></ td >
       < td  class ="myReg" >与密码一致 </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >性别: </ td >
       < td >< input  type ="radio"  name ="sex"  value ="man"   >
           < input  type ="radio"  name ="sex"  value ="woman"   >
       </ td >
       < td  class ="myReg" >必须选择其中之一 </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >婚否: </ td >
       < td >< input  type ="checkbox"  name ="hun"  value ="hun" ></ td >
       < td > &nbsp </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >年龄: </ td >
       < td >< select  name ="age" >
             < option  value ="" >  -------   </ option >
             < script >
                
for(var i=18;i<61;i++)
                
{
                   document.write(
"<option value='"+ i +"'>"+ i +"岁</option>");
                }

            
</ script >
           </ select >
       </ td >
       < td  class ="myReg" >必须提供 </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >职业: </ td >
       < td >
           < select  name ="selectJob"  value ="selectJob"  multiple ="true"   >
               < option  >人事管理 </ option >
               < option  >电脑相关 </ option >
               < option  >金融相关 </ option >
                  < option  >物流管理 </ option >
               < option  >教育事业 </ option >
           </ select >
       </ td >
       < td > &nbsp </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >相片: </ td >
       < td >< INPUT  type ="file"  name ="File"  id ="File"  class ="myText" >
           </ td >
       < td  class ="myReg" >相片文件必须是JPG图片*.jpg </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" >个性签名: </ td >
       < td >
            < textarea  name ="qianming"  cols ="20"  rows ="5"  class ="myText" ></ textarea >
       </ td >
       < td  class ="myReg" >不超过200个字符 </ td >
   </ tr >

   < tr >
       < td  class ="myTitle" > &nbsp </ td >
       < td > 
           < input  type ="submit"  name ="submit"  value ="确认注册"  class ="myButton" ></ input >
           < input  type ="reset"   name ="reset"  value ="重新填写"  class ="myButton" ></ input >
           < input  type ="button"   name ="btnClose"  value ="关闭窗口"  class ="myButton"  onclick ="myClose();"  href ="" ></ input >
       </ td >
       < td > &nbsp </ td >
   </ tr >
</ Table >
< form >
</ BODY >
</ HTML >

相关说明:

为了简单起见,我将Javascript CSS 都集成到HTML 当中来了。在实际的开发中,建议还是将他们分别用单独的文件存放,再在HTML 中引用进来。

CSS 的外部引用:
HTML<head>中添加<link rel="stylesheet" type="text/css" href="style.css">,然后把CSS 写在style.css文件中即可。

Javascript 的外部引用:
HTML<head>中添加<script type="text/javascript" src="Queue.js"></script>,然后把Javascript 写在Queue.js文件中即可。

也可以动态加载JS脚本(参考)
动态加载JS脚本的4种方法
如何在HTML文件中正确的引用js文件中的函数

另外,为了阅读的方便,我在代码中添加了许多的注释。关于注释,在HTMLJavascript CSS 中都有所差异:

        HTML 中使用: <!-- HTML的注释 -->

Javascript 中使用: /*  JavaScript的注释  */     // JavaScript的注释

           CSS 中使用: /*  CSS的注释  */

关于HTMLJavascript CSS 的注释是我在应用后的总结,错漏之处还请斧正!)




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2008/05/12/1193506.html,如需转载请自行联系原作者


相关文章
|
28天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
45 4
|
10天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
92 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
21天前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
75 19
Selenium IDE:Web自动化测试的得力助手
|
23天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
140 17
Selenium:强大的 Web 自动化测试工具
|
22天前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE是开源的Web自动化测试工具,适用于Chrome、Firefox等多款浏览器。它提供简单的录制与回放功能,用户可通过录制浏览器操作自动生成测试脚本,支持导出为多种编程语言,便于非专业测试人员快速上手,有效提升测试效率与质量。
171 6
Selenium IDE:Web自动化测试的得力助手
|
27天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
2月前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
34 7
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
43 6
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
63 1
|
2月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
49 2