实验四 JavaScript的使用

news/2024/7/19 15:05:10 标签: javascript, java, js, html

一、实验目的

1.理解JavaScript脚本编程语言;

2.掌握JavaScript基本语法规则;

3.学会使用JavaScrip操作网页对象;

4.初步掌握正则表达式的使用

5.掌握在浏览器调试JavaScript代码

二、实验内容

  • 创建用户注册页面文件register.html,界面如下图:
    在这里插入图片描述
  • 新建JavaScript文件verify.html" title=js>js,对注册信息进行验证,各输入项的验证要求如图所示,若输入数据不符要求,显示红色提示信息。验证成功才能提交,否则不能提交。数据验证规则如下:
  • ①用户名由6-10位字母和数字组成,至少包含1个字母和1个数字;
  • ②年龄不能小于17岁;
  • ③密码由6-10位字符组成,至少包含1个字母、1个数字和1个特殊符号;
  • ④邮箱地址包含@字符。

三、实验要求

1、功能实现思路:输入框用onBlur事件,当失去光标触发该事件,执行验证函数;数据验证使用正则表达式。

2、新建一个文件夹,以学号+姓名命名,将完成的register.html和verity.html" title=js>js拷贝到该文件夹下,并提交至作业服务器。

四、正则表达式简介

1.什么是正则表达式

  • 正则表达式是一种字符串匹配的模式,通过字符串描述和匹配一系列符合某个句法的规则。

  • JavaScript提供一个RegExp对象来完成有关正则表达式的匹配功能,其语法格式如下:

               var pattern = /规则描述/
    

了解更多,请访问: http://www.w3school.com.cn

2.正则表达式举例
在这里插入图片描述
如JavaScript代码:
在这里插入图片描述
3.正则表达式在线测试
http://www.regexp.cn/Regex


【我这篇主要是为了记录老师说的,利用浏览器的开发者工具调试代码】


1.将HTML文件用浏览器打开:
在这里插入图片描述
2.选中开发者工具:
在这里插入图片描述
3.可以看到是否报错,然后 根据报错的原因修改代码(修改代码就用记事本打开就OK了)即可
在这里插入图片描述

  • 那我就稍微放一下我的代码哈。可能还有一些些问题,而且我还是用记事本写的,所以可能排版不是很好看:

register.html:

html"><html>
<head>
<title>register</title>
</head>
<style type="text/css">
body
{
   text_align:center;
}
  table,td{
   margin:0 auto;
   text-align:center;
}
div{
  text-align:left;
  width:300px;
  color:red
}
.text1{
  border-radius:8px;
  width:200px;
  height:25px;
}
.button{
  border-radius:5px;
}
</style>
<script type="text/html" title=html" title=java>javascript>html" title=java>javascript" src="verify.html" title=js>js">html" title=html" title=java>javascript>html" title=java>javascript">
</script>
</head>
<body>
<h2 align="center">用户注册信息</h2>
<hr>
<form id="test" align="left" onsubmit="validate()">
<table>
<tr>
<td>用户名*:</td>
<td><input type="text" class="text1" id="username" title="用户名由6-10位字母和数字组成,至少包含1个字母和1个数字" size="20" onblur="nameverify()"></td><td><div name="nameerror" id="nameerror"></div></td> 
</tr>
<tr>
<td>年龄*:</td>
<td><input type="text" class="text1" id="age" title="年龄不能小于17岁" size="20" onblur="ageverify()"></td><td><div id="ageerror"></div></td>
</tr>
<tr>
<td>密码*:</td>
<td><input type="password" class="text1" id="password1" title="密码由6-10位字符组成,至少包含1个字母、1个数字和一个特殊符号" size="20" onblur="password1verify()"></td><td><div id="password1error"></div></td>
</tr>
<tr>
<td>确认密码*:</td>
<td><input type="password" class="text1" id="password2" size="20" onblur="password2verify()"></td><td><div id="password2error"></td></div>
</tr>
<tr>
<td>电子邮件*:</td>
<td><input type="text" class="text1" id="email" title="邮箱地址包含@字符" size="20" onblur="emailverify()"><td><div id="emailerror"></td></td>
</tr>
<tr>
<td>电话:</td>
<td><input type="text" class="text1" id="number1" size="20" ></td>
</tr>
<tr>
<td>QQ号码:</td>
<td><input type="text" class="text1" id="number2" size="20" ></td>
</tr>
<tr>
<td></td>
<td><input   type="submit"  class="button" value="提交" onclick="fun()">
<input   type="reset"   class="button" value="重置"></td>
</tr>	
</table>
</form>
</hr>
</body>
</html>

verify.html" title=js>js :

html" title=html" title=java>javascript>html" title=java>javascript">var usernameok=false;
var ageok=false;
var password1ok=false;
var password2ok=false;
var emailok=false;
function nameverify(){
	var username=document.getElementById("username");
	var nameerror=document.getElementById("nameerror");	
	var pattern=/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6,10}$/;
	if(!pattern.test(username.value)){
		nameerror.innerHTML="用户名为空或格式错误!";
		}
	else{
		nameerror.innerHTML="";
		usernameok=true;
	        }
}
function ageverify(){
                       var age=document.getElementById("age");
                       var ageerror=document.getElementById("ageerror");
                       if(isNaN(age.value)||age.value<17){
                                          ageerror.innerHTML="年龄不能小于17岁!";
                            }
                        else{
                                   ageerror.innerHTML="";
                                   ageok=true;    
                               }
}

function password1verify(){
                       var password1=document.getElementById("password1");
                       var password1error=document.getElementById("password1error");
                       var pattern=/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&]).{6,10}$/;
                       if(!pattern.test(password1.value)){
                                        password1error.innerHTML="密码不能为空或格式错误!";
                           }
                       else{
                                  password1error.innerHTML="";
                                  password1ok=true;
                              }
}

function password2verify(){
	     var password1=document.getElementById("password1");
                     var password2=document.getElementById("password2");
                     var password2error=document.getElementById("password2error");
                     var pattern=/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&]).{6,10}$/;
                     if(password2.value!=password1.value){
                                   password2error.innerHTML="两次密码不一致!";
                      }
                    else if (password1.value==""){
                              
                              password2error.innerHTML="请先填写密码!";
                              password2ok=true;
                           }
                    else{
                         password2error.innerHTML="";
             
                    password2ok=false;
                   }
}

function emailverify(){
                        var email=document.getElementById("email");
                        var emailerror=document.getElementById("emailerror");
                        var pattern=/^(?=.*[@]).+$/;
                        if(!pattern.test(email.value)){
                                         emailerror.innerHTML="邮箱地址格式错误!";
                             }
                        else{
                                      emailerror.innerHTML="";
                                      emailok=true;
                               }
}

function fun(){
    if (usernameok&&ageok&&password1ok&& password2ok&&emailok){
		alert("提交成功!");
	}
    else{
		alert("提交失败!");
	}
}

【本来呢,想的是昨天写完的,但是,前几周一直在忙,又很多事情,所以等到事情都基本完成,又可以回到轻松的周末的时候,就玩过头了,其实也还好啦,就真的挺想玩的呢,但是,想到毕业自己可能面临的结果还是觉得自己应该努力的,所以呀,加油呐~冲呀!💪(ง •_•)ง】

句子君:
《蓝色大门》:
“夏天过完了,好像什么事也没有做。”
  “是啊,我们就只是跑来跑去,什么都没有做。”

“但还是会留下些什么的吧。
留下什么,我们就变成什么样的大人。”


http://www.niftyadmin.cn/n/1649616.html

相关文章

读《自由与宽恕:曼德拉传》

读《自由与宽恕&#xff1a;曼德拉传》 决定要读曼德拉传&#xff0c;直接原因是再次在网页上看到老者的面容&#xff0c;那么的祥和与平静&#xff0c;足以令我内心产生不一样的感觉。而且又知道他曾经历的那些波涛汹涌和铸下的丰功伟业都埋藏在这副平静的面容下&#xff0c;让…

Spring Cloud Stream消息驱动项目集成

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 &#xff0c;关注我&#xff0c;不迷路 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术…

第九周习题

记录A、最大字段和升级版代码B、斜线最大最小值代码C、矩阵连乘问题-备忘录法求最优值代码D、矩阵连乘问题-动态规划求最优值代码E、矩阵连乘问题-构造最优解代码F、石子合并问题代码A、最大字段和升级版 题目描述 使用动态规划算法求整数数组&#xff08;可能包含负整数&…

$\mathcal{Friends' \ \ Links}$友情链接

\(\mathcal{JuLao \ \& \ \ Dalao}\) \(\_rqy\)\(\_stdcall\) 并&#xff08;吊&#xff09;肩&#xff08;锤&#xff09;奋&#xff08;死&#xff09;斗&#xff08;我&#xff09;的\(Oier\) 王旭苑骏康张梓淳王星霖刘文尧大\(ZZ\)梁泽锐 好盆友 角角\(qwq\) 天天\(\rm…

汇编语言-实验6 --loop指令简单使用以及数据段简单设置

一、实验要求 1.你的程序不要截图&#xff0c;直接粘贴。2.用蓝色或者绿色字体作答。 二、实验技巧 1.程序运行没有输出&#xff0c;怎么查看运行结果&#xff1f;&#xff08;debug所生成的可执行文件&#xff0c;执行后&#xff0c;查看结果&#xff09;2.dos下打字很慢怎…

AJAX对数据库增删改查实例

前端代码&#xff1a; <!DOCTYPE html><html><head><meta charset"UTF-8"><title>AJAX小实例</title><link href"artDialog/css/dialog.css" rel"stylesheet"><style> a:hover{ color:green; c…

JavaScript综合实验

一、实验目的 1.熟悉CSS的使用方法&#xff0c;能熟练定义CSS选择器&#xff0c;熟练书写CSS样式表&#xff1b;2.掌握利用JavaScriptCSS实现样式的动态变换。3.掌握JavaScript内置对象Array、Math对象的使用 二、实验内容 内容一&#xff1a;JavaScriptCSS综合实验 1、打开…

Linux zip命令详解

zip常见命令参数 Usage: zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]The default action is to add or replace zipfile entries from list, whichcan include the special name - to compress standard input.If zipfile and list are o…