一个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,如需转载请自行联系原作者


相关文章
|
2月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
72 4
|
3月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
123 61
|
3月前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
10天前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
39 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
10天前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
27 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
2月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
153 31
Selenium IDE:Web自动化测试的得力助手
|
3月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
120 61
|
2月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
281 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE是开源的Web自动化测试工具,适用于Chrome、Firefox等多款浏览器。它提供简单的录制与回放功能,用户可通过录制浏览器操作自动生成测试脚本,支持导出为多种编程语言,便于非专业测试人员快速上手,有效提升测试效率与质量。
436 6
Selenium IDE:Web自动化测试的得力助手
|
3月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
71 6

热门文章

最新文章

  • 1
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
  • 2
    3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
  • 3
    Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
  • 4
    基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 7
    「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
  • 8
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
  • 9
    AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
  • 10
    Squaretest自动生成单元测试
  • 1
    打造高效的Web Scraper:Python与Selenium的完美结合
    31
  • 2
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    39
  • 3
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    27
  • 4
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    65
  • 5
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    494
  • 6
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    34
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    49
  • 8
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    34
  • 9
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    28
  • 10
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    70