实验一 Web客户端编程

一、实验目的:

  使用HTML超文本标记语言制作简单页面,要求通过实验能够掌握HTML文件的基本结构和文档的创建、编辑及保存。
  验证并掌握HTML超文本标记语言的文本、图像、超链接、表格、表单等标记的使用。
  通过实验掌握层叠样式表CSS的创建及应用,掌握在网页中插入层叠样式表CSS的常用方法,掌握层叠样式表CSS的主要基本属性的使用。
  通过实验了解JavaScript的编程规范及基本语法,能够分析JavaScript程序的功能,可以在网页制作中使用JavaScript程序。
  通过实验了解Ajax的编程方法,掌握Ajax编程技巧。

二、实验环境:

Eclipse

三、实验内容:

(写出主要的内容)
  1)请参考教材的第2-4章内容,认真阅读分发的源代码,并根据教材上的提示,完成源代码中没有实现的功能。
  2)开发一个用户注册界面,要求:用户名基于Ajax检测是否重复,年龄需用JavaScript检查格式是否正确。

编写用户注册页面步骤:
1.先写好整体的DIV框架

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>用户注册表单验证代码</title>
    <link href="login.css" rel="stylesheet" />
    <script language='javascript' src="login.js"></script>
</head>

<body>
    <div class='body_main'>
        <!-- start main content -->
        <div class='index_box' style='margin-top:20px;'>
            <div class='box_title'>
                <div class='text_content'>
                    <h1>用户注册表单验证代码</h1>
                </div>
            </div>
            <div class='box_main'>
                <div id="register" class="register">
                    <!-- <form id="form" action="http://sc.chinaz.com/" method="post" onSubmit="return check();"> -->
                    <div id="form_submit" class="form_submit">
                        <div class="fieldset">
                            <!-- 用户名 -->
                            <div class="field-group">
                                <label class="required title">用户名</label>
                                <span class="control-group" id="name_input">
                                   <div class="input_add_long_background">
                                      <input class="register_input" type="text" id="name" name="name" maxLength="11" value="" >
                                    </div>
                               </span>
                                <label class="tips">请输入您的用户名,3~16位小写字母或数字组成</label>
                            </div>
                            <!-- 年龄 -->
                            <div class="field-group">
                                <label class="required title">年龄</label>
                                <span class="control-group" id="age_input">
                                    <div class="input_add_long_background">          
                                      <input class="register_input" type="text" id="age" name="age" maxLength="11" value="" >
                                   </div>
                               </span>
                                <label class="tips">仅用于注册使用</label>
                            </div>
                            <!-- 电话号码 -->
                            <div class="field-group">
                                <label class="required title">手机号码</label>
                                <span class="control-group" id="mobile_input">
                                  <div class="input_add_long_background">
                                    <input class="register_input" type="text" id="mobile" name="mobile" maxLength="11" value="" >
                                  </div>
                                </span>
                                <label class="tips">仅用于发送服务开通与到期提醒以及紧急故障方便联系到您,绝对保密</label>
                            </div>
                            <!-- 邮箱 -->
                            <div class="field-group">
                                <label class="required title">邮箱</label>
                                <span class="control-group" id="email_input">
                                  <div class="input_add_long_background">
                                     <input class="register_input" type="text" id="email" name="email" maxLength="50" value="" >
                                   </div>
                               </span>
                                <label class="tips">请输入您常用的邮箱</label>
                            </div>
                            <!-- 设置密码 -->
                            <div class="field-group">
                                <label class="required title">设置密码</label>
                                <span class="control-group" id="password1_input">
                                   <div class="input_add_long_background">
                                     <input class="register_input" type="password" id="password" name="password" maxLength="20" value="" />
                                  </div>
                                </span>
                                <label class="tips">请使用6~20个英文字母(区分大小写)、符号或数字</label>
                            </div>
                        </div>
                    </div>
                    <div id="div_submit" class="div_submit">
                        <div class='div_submit_button'>
                            <input id="submit" type="submit" value="注册" class='button_button disabled'>
                        </div>
                    </div>
                </div>
            </div>
            <div class='box_bottom'></div>
        </div>
    </div>

</body>
 
</html>

2.将写好的框架进行CSS美化

body {
    margin: 0;
    padding: 0;
    background: url("../images/body_bg.png") repeat 0 0 #F2F2F2;
    width: 100%;
    height: 166px;
    color: #333333;
    font: 12px/18px "tahoma", "Microsoft YaHei", "arial", "SimHei", "SimSun";
}

input.button_button {
    background: url('../images/buttom.png') no-repeat;
    margin: 0;
    width: 106px;
    height: 35px;
    border: 0;
    font-size: 15px;
    font-weight: 600;
    color: #FFFFFF;
    text-shadow: 0 -1px 0 #535353;
    padding: 0 0 3px 0;
    text-align: center;
    font-weight: bold;
    line-height: 33px;
    text-indent: 20px;
}


/*index start*/

.body_main {
    margin: 0 auto;
    width: 992px;
}

.index_box .box_title {
    background: url('../images/box_top.png') no-repeat scroll center top transparent;
    width: 991px;
    height: 80px;
    padding: 0;
}

.index_box .box_title .text_content {
    text-align: center;
    padding: 20px 0 10px 0;
}

.index_box .box_title .text_content h1 {
    font-weight: normal;
}

.index_box .box_main {
    border: solid #D0D0D0;
    background: #ffffff;
    border-width: 0 1px 0 1px;
    width: 988px;
    ;
    min-height: 50px;
    overflow: hidden ;
}

.index_box .box_bottom {
    background: url('../images/box_bottom.png') no-repeat scroll center top transparent;
    width: 991px;
    height: 7px;
    padding: 0;
}


/*regist*/

.register {
    float: left;
    padding: 25px 50px;
}

.register .form_submit {
    float: left;
    border-bottom: 1px solid #bfbfbf;
    width: 888px;
}

.register .form_submit .fieldset {
    float: left;
}

.register .form_submit .fieldset .field-group {
    float: left;
    height: 55px;
}

.register .form_submit .fieldset .field-group .title {
    float: left;
    width: 120px;
    text-align: right;
    margin: 4px 0 0 0;
    font-size: 14px;
}

.register .form_submit .fieldset .field-group .control-group {
    float: left;
    width: 350px;
    margin: 0 10px;
}

.register .form_submit .fieldset .field-group .tips {
    float: left;
    width: 250px;
    color: #bfbfbf;
}

.wrong {
    float: left;
    width: 250px;
    color: red;
}

.register .div_submit {
    float: left;
    width: 875px;
    margin: 10px 5px;
}

.register .div_submit .div_submit_button {
    float: right;
}


/*end regist*/

.fieldset .input_add_background {
    background: url("../images/input.jpg") no-repeat scroll 100% 100% transparent;
    background-position: center;
    height: 30px;
    width: 157px;
    float: left;
    margin: 0 2px 0 0;
}

.fieldset .input_add_background input.register_input_ot {
    background-color: #f9f9f9;
    border: 0 none;
    color: #4F4F4F;
    font-size: 12px;
    height: 18px;
    outline: medium none;
    width: 145px;
    padding: 1px;
    margin: 5px;
}

.fieldset .input_add_long_background {
    background: url("../images/input_long.jpg") no-repeat scroll 100% 100% transparent;
    background-position: center;
    height: 30px;
    width: 286px;
    float: left;
    margin: 0 0 15px 0;
}

.fieldset .input_add_long_light_background {
    background: url("../images/input_long_light.jpg") no-repeat scroll 100% 100% transparent;
    background-position: center;
    height: 30px;
    width: 286px;
    float: left;
}

.fieldset .input_add_long_background input.register_input {
    background-color: #f9f9f9;
    border: 0 none;
    color: #4F4F4F;
    font-size: 12px;
    height: 18px;
    outline: medium none;
    width: 270px;
    padding: 1px;
    margin: 5px;
}

.fieldset .input_text {
    display: inline-block;
    position: absolute;
    vertical-align: top;
    margin: 6px 0 0 10px;
    z-index: 2;
    font-style: italic;
    color: #BFBFBF;
}

3.进行表单验证

window.onload = function() {
    var age = document.querySelector("#age");
    var name = document.querySelector("#name");
    var mobile = document.querySelector("#mobile");
    var email = document.querySelector("#email");
    var password = document.querySelector("#password");
    var submit = document.querySelector("#submit");
    var regname = /^[a-z0-9_-]{3,16}$/;
    var regage = /^[0-9]{1,3}$/;
    var regmobile = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
    var regemail = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
    var regpassword = /^[a-zA-Z0-9_-]{6,18}$/;
    name.onblur = function() {
        if (!regname.test(name.value)) {
            alert("请按要求输入3~16位小写字母或数字组成的用户名");
            // this.parent.sibling(".tips").style.color = red;
            // 
            // tips.className = ".wrong";
        }
        console.log(regname.test(name.value));
    }
    age.onblur = function() {
        if (!regage.test(age.value)) {
            alert("请输入正确的年龄");
            // tips.className = ".wrong";
        }
    }
    mobile.onblur = function() {
        if (!regmobile.test(mobile.value)) {
            alert("请输入正确的手机号");
            // tips.className = ".wrong";
        }
    }
    email.onblur = function() {
        if (!regemail.test(email.value)) {
            alert("请按格式输入常用的邮箱");
            // tips.className = ".wrong";
        }
    }
    password.onblur = function() {
        if (!regpassword.test(password.value)) {
            alert("请输入3~16位由字母或数字组成的密码");
            // tips.className = ".wrong";
        }
    }
    submit.onclick = function() {
        if (regname.test(name.value) & regage.test(age.value) & regmobile.test(mobile.value) & regemail.test(email.value) & regpassword.test(password.value)) {
            alert("注册成功");
            
        } else {
            alert("请重新检查信息");
        }
    }
}

现阶段效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.进行Tomcat安装及配置
链接:
5.ajax的实现
后续补充

四、思考并回答问题

(1)超文本标记语言的文档主要由哪些标记构成?缺少任何一部份会对文件产生什么影响?不带任何标记的文档又会怎样?

答:< html>< head>< body>< form>

(2)要想使浏览器中显示的文字分行排列,应使用何种标记处理?

答:用< table>< tr>< td>< th>

(3)HTML语言中表格、表单分别有什么作用?

答:表格是使显示规范,而表单用于提交数据

(4)层叠样式表CSS的主要作用是改变什么?

答:层叠样式表CSS主要用于改变数据的显示方式,不改变内容

(5)JavaScript语言和Java语言的主要区别有哪些?

答:使用变量不需要事先声明,变量没有类型的区别,java是面向对象的。JavaScript是基于对象的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玳宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值