accp6.0 《使用javascript增强交互效果》学习笔记ch6 表单基本验证技术

使用JavaScript增强交互效果 使用JavaScript增强交互效果 使用JavaScript实现表单验证 使用JavaScript制作网页广告特效 使用JavaSctipt制作弹出窗口特效 使用JavaScript实现时钟特效 使用JavaScript实现级联显示功能 使用JavaScript+CSS实现CSS样式特效 使用JavaScript动态创建页面元素 立即下载

由来:表单作为客户端向服务器提交数据的主要载体,为保证提交数据是合法的,以及减少服务器压力,表单验证是很有必要的。


6.1表单验证的内容:

常用的有:

1.非空验证

2.是否为数字

3.邮件地址是否合法

4.数据是否在某个范围内

5.输入的信息长度是否足够

6.特定的数据是否有效,比如出生日期


6.2表单验证的思路

1.获取表单元素的值

2.使用js中的一些方法对获取的数据进行判断

3.表单form有一个事件onsubmit,它是在提交表单之前调用的,因此可以在提交表单时触发onsubmit事件,然后对获取的数据进行验证。



6.2.1 String 对象 

1.字符串对象的属性

语法:

字符串对象.length;

var str="hello world"

var strLength=str.length;

最后strLength返回的str字符串长度是11。


2.字符串对象的方法

语法

字符串对象.方法名();

String对象常用方法:

toLowerCase() 把字符串转化为小写

toUpperCase() 把字符串转化为大写

charAt(index)返回指定位置的字符

indexOf(字符串,index) 查找某个指定的字符串在字符串中首次出现的位置

substring(index1,index2) 返回位于指定索引index1和index2之间的字符串,并且包括索引index1对应的字符串,不包括索引index2对应的字符

6.2.2电子邮件格式的验证

实例:js部分

<script type="text/javascript">
function check(){
    var mail=document.getElementById("email").value;
    if(mail==""){//检测Email是否为空
        alert("Email不能为空");
        return false;
        }
    if(mail.indexOf("@")==-1){
        alert("Email格式不正确\n必须包含@");
        return false;
        }
    if(mail.indexOf(".")==-1){
        alert("Email格式不正确\n必须包含.");
        return false;
        }
        return true;
    }
</script>





6.2.3文本框内容的验证

实例:js部分

<script type="text/javascript">
function check(){
var pwd=document.getElementById("pwd").value;        
    if(pwd==""){
        alert("密码不能为空");
        return false;
        }
    if(pwd.length<6){
        alert("密码必须等于或大于6个字符");
        return false;
        }
var repwd=document.getElementById("repwd").value;        
    if(pwd!=repwd){
        alert("两次输入的密码不一致");
        return false;
        }
var user=document.getElementById("user").value;    
        if(user==""){
        alert("姓名不能为空");
        return false;
        }
    for(var i=0;i<user.length;i++){
        var j=user.substring(i,i+1);
        if(isNaN(j)==false){
            alert("姓名中不能包含数字");
            return false;
            }
        }    
        return true;
    }
</script>




6.3文本框控件

6.3.1文本框对象

文本框常用的方法和事件

事件:

onblur 失去焦点,当光标离开某个文本框时触发
onfocus获得焦点,当光标进入某个文本框时触发

onkeypress某个键盘按键被按下并松开

方法:

blur() 在文本域中移开焦点

focus() 在文本域中设置焦点,即获得鼠标光标

select()选取文本域中的内容

属性:

id 设置或返回文本域的id

value设置或返回文本域的value属性的值


实例:动态改变文本框效果

js部分:

<script type="text/javascript">
function check(){
    var mail=document.getElementById("email").value;
    if(mail==""){//检测Email是否为空
        alert("Email不能为空");
        document.getElementById("email").focus();
        return false;
        }
    if(mail.indexOf("@")==-1 || mail.indexOf(".")==-1){
        alert("Email格式不正确\n必须包含符号@和.");
        document.getElementById("email").focus();
        document.getElementById("email").select();
        return false;
        }
        return true;
    }
function clearText(){
    var mail=document.getElementById("email");
    if(mail.value=="请输入正确的电子邮箱"){
        mail.value="";
        mail.style.borderColor="#ff0000";
        }
    }
</script>


示例4:制作文本输入提示特效             

完整:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>休闲网注册页面</title>
<link href="login.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function $ (ElementID) {
        return document.getElementById(ElementID);
    }
function checkEmail(){
    var mail=$("email");
    var divID=$("DivEmail");
    divID.innerHTML="";
    if(mail.value==""){
        divID.innerHTML="Email不能为空";
        //mail.focus();
        return false;
        }
    if(mail.value.indexOf("@")==-1){
        divID.innerHTML="Email格式不正确,必须包含@";
        //mail.focus();
        return false;
        }
    if(mail.value.indexOf(".")==-1){
        divID.innerHTML="Email格式不正确,必须包含.";
        //mail.focus();
        return false;
        }
        //return true;
}
function checkPass(){
    var pwd=$("pwd");
    var divID=$("DivPwd");
    divID.innerHTML="";
    if(pwd.value==""){
        divID.innerHTML="密码不能为空";
        //pwd.focus();
        return false;
        }
    if(pwd.value.length<6){
        divID.innerHTML="密码必须等于或大于6个字符";
        //pwd.focus();
        return false;
        }
    //return true;
}
function checkRePass(){
    var pwd=$("pwd"); //输入密码
    var repwd=$("repwd"); //再次输入密码
    var divID=$("DivRepwd");   
    divID.innerHTML="";        
    if(pwd.value!=repwd.value){
        divID.innerHTML="两次输入的密码不一致";
        return false;
        }
    //return true;
}
function checkUser(){
    var user=$("user");
    var divId=$("DivUser");
    divId.innerHTML="";
    if(user.value==""){
        divId.innerHTML="姓名不能为空";
        //user.focus();
        return false;
        }
    for(var i=0;i<user.value.length;i++){
        var j=user.value.substring(i,i+1)
        if(j>=0){
            divId.innerHTML="姓名中不能包含数字";
            //user.focus();
            return false;
            }
    }
        //return true;
    }
</script>
</head>

<body>
<div id="header" class="main">
  <div id="headerLeft"><img src="images/logo.gif"/></div>
  <div id="headerRight">注册 | 登录 | 帮助</div>
</div>
<div class="main">
<table id="center" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td class="bold" colspan="2">注册休闲网</td>
  </tr>
  <form action="" method="post" name="myform"><tr>
    <td class="left">您的Email:</td>
    <td><input id="email" type="text" class="inputs" onblur="checkEmail()"/>
          <div class="red" id="DivEmail"></div></td>
  </tr>
  <tr>
  <td class="left">输入密码:</td>
    <td><input id="pwd" type="password" class="inputs" onblur="checkPass()"/>
    <div class="red" id="DivPwd"></div></td>
  </tr>
   <tr>
  <td class="left">再输入一遍密码:</td>
    <td><input id="repwd" type="password" class="inputs" onblur="checkRePass()"/>
    <div class="red" id="DivRepwd"></div></td>
  </tr>
  <tr>
  <td class="left">您的姓名:</td>
    <td><input id="user" type="text" class="inputs" onblur="checkUser()"/>
    <div class="red" id="DivUser"></div></td>
  </tr>
  <tr>
  <td class="left">性别:</td>
    <td><input name="sex" type="radio" value="1" /> 男
    <input name="sex" type="radio" value="0" /> 女</td>
  </tr>
  <tr>
  <td class="left">出生日期:</td>
    <td><select name="year">
    <script type="text/javascript">
    for(var i=1900;i<=2009;i++){
    document.write("<option value="+i+">"+i+"</option>");    
        }
    </script>
    </select>年
    <select name="month">
    <script type="text/javascript">
    for(var i=1;i<=12;i++){
    document.write("<option value="+i+">"+i+"</option>");    
        }
    </script>
    </select>月
    <select name="day">
    <script type="text/javascript">
    for(var i=1;i<=31;i++){
    document.write("<option value="+i+">"+i+"</option>");    
        }
    </script>
    </select>日</td>
  </tr>
  <tr><td> </td>
    <td ><input name="btn" type="submit" value="注册" class="rb1" /></td>
  </tr></form>
</table>

</div>
<div id="footer" class="main"><a href="#">关于我们</a> | <a href="#">诚聘英才</a> |<a href="#"> 联系方式</a> | <a href="#">帮助中心</a></div>
</body>
</html>


附样式:

login.css

@charset "gb2312";
/* CSS Document */

*{padding:0; margin:0;}
body{
    font-size:13px;
    color:#000;
    line-height:25px;
     }
.main{
    float:none;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    clear:both;
}
#header{
    background-image: url(images/bg.gif);
    background-repeat: repeat-x;
    height: 36px;
    }
#headerLeft{width:200px;
           float:left;
           }
#headerRight{width:160px;
             float:right;
             color:#FFF;
             }
#center{
    margin-top: 5px;
    margin-right: auto;
    margin-bottom: 5px;
    margin-left: auto;
    width:100%;

    }
.left{width:25%;
      text-align:right;
      height:25px;
      }

.bg{
    background-image: url(images/dl_l_bg.gif);
    background-repeat: repeat-y;
    }
.inputs{width:130px;
height:16px;
border:solid 1px #666666;
float:left;

}
.bold{
    font-size:18px;
    font-weight:bold;
    text-align:center;
    line-height:35px;
    height:35px;
}
.rb1{
    height:20x;
    color:#fff;
    font-size:13px;
    background:#d32c47;
    padding:3px 10px;
    border-left:1px solid #fff;
    border-top:1px solid #fff;
    border-right:1px solid #6a6a6a;
    border-bottom:1px solid #6a6a6a;
    cursor:pointer;
    }
#footer{text-align:center;
color:#333;
line-height:35px;
}
#footer a{
    color:#333;
    text-decoration:underline;
}
#footer hover{
    color:#333;
    text-decoration:none;
}
.red{
    color:#F00;
    float:left;
    padding-left:5px;
    }



使用javaScript增强交互效果 使用javaScript增强交互效果,北大青鸟的课程,好好利用。易学习! 立即下载

相关推荐

javaScript增强交互效果机试题

转换课程S1~S2》阶段测试-机试卷 制作如下图所示的“腾讯公益”首页页面,要求使用DIV+CSS布局。

accp6.0 《使用javascript增强交互效果》学习笔记ch7 正则表达式和表单辅助特效

regular 正则 express 表达式 global全局 表单验证技术之一:正则表达式 7.1:什么是正则表达式: 正则表达式是一个描述字符模型的对象,它是由一些特殊的符号组成的,这些符号和SQL Server中学过的通配符一样,其组成的字符模式用来匹配各种表达式

张利龙的优快云博客 1217

使用JavaScript增强交互效果教材PDF

使用JavaScript增强交互效果教材PDF,JavaScript入门学习工具书。

使用DisplayTag和JavaScript创建增强型的表格

Every Web developer has to tangle with tables. A new open source library, DisplayTag, can make life with tables much more organized. Find out how to combine the DisplayTag library with JavaScr

陈小峰(iefreer)的专栏 4441

使用JavaScript增强交互效果-当当网-完整的项目案例

使用JavaScript增强交互效果-当当网-完整的项目案例 北大青鸟课件的一部分,比较完整的项目案例,经实际测试,tab切换时有点小bug

用逻辑分析仪实测EM4095:125kHz RFID耳标解码的电压与脉宽玄学

本文通过逻辑分析仪实测EM4095芯片,深入解析125kHz RFID耳标解码中的电压与脉宽关联现象。揭示了供电电压对曼彻斯特编码脉宽的影响规律,并提供了一套可落地的调试方法论,包括信号链路解析、逻辑分析仪配置技巧及系统级稳定性提升方案,帮助开发者解决解码不稳定问题。

weixin_30629653的博客 329

JS不断循环增加表格

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 1353

STM32H5 USB虚拟串口:用Classic驱动移植CDC实践

USB虚拟串口(CDC)是嵌入式系统最常用的主机通信方式之一,本质是借助USB协议模拟串口收发,无需额外驱动即可在PC上生成COM口。其实现依赖USB设备协议栈完成枚举、控制传输与批量传输。传统USBD Classic库不依赖RTOS,代码轻量、调用链短,非常适合裸机或轻量状态机架构;而USBX功能强大但需要ThreadX内核,资源开销较大。在电机控制器、传感器采集等场景中,日志输出与参数配置仅需简单的双向数据通道,Classic驱动往往更务实。本文基于STM32H5平台,详细梳理了使用Classic驱动移

weixin_29178069的博客 334

accp6.0 《使用javascript增强交互效果》学习笔记ch1

javascript概念: 一种描述语言,也是一种基于对象object和事件驱动event driver的并具有安全性能的脚本语言。 javascript组成: 1:核心语法ECMAScript   (脚本语言规范) 2:浏览器对象模型BOM  (browser obje

张利龙的优快云博客 2167

Docker离线部署OpenWebUI操作步骤

docker离线部署openwebui

m0_49333265的博客 4353

别再死记硬背GNN公式了!用PyTorch Geometric从零实现一个GraphSAGE(附完整代码)

本文通过PyTorch Geometric从零实现GraphSAGE模型,深入解析图神经网络的核心原理与实战应用。文章提供完整代码示例,涵盖环境配置、邻居采样、信息聚合等关键步骤,帮助开发者掌握图表示学习技术,避免陷入公式推导的困境。适合希望将GNN应用于实际项目的中级开发者和学生。

weixin_42530570的博客 348

accp6.0 《使用javascript增强交互效果》学习笔记ch2

函数和winow对象 javascript常用函数 1.parseInt() 可解析一个字符串,并返回一个整数. 语法:parseInt("字符串"); 2.parseFloat() 可解析一个字符串,兵返回一个浮点数. 语法:parseFloat("字符串");

张利龙的优快云博客 1205

ADS使用Smith圆图进行阻抗匹配

在处理RF系统的实际应用问题时,总会遇到一些非常困难的工作,对各部分级联电路的不同阻抗进行匹配就是其中之一。一般情况下,需要进行匹配的电路包括天线与低噪声放大器(LNA)之间的匹配、功率放大器输出(RFOUT)与天线之间的匹配、LNA/VCO输出与混频器输入之间的匹配。匹配的目的是为了保证信号或能量有效地从“信号源”传送到“负载”。 阻抗匹配(impedance matching) 信号源内阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输

红茶绿茶和奶茶的博客 3万+

accp6.0 《使用javascript增强交互效果》学习笔记ch5 JavaScript和css交互

任务: 制作鼠标指针移动特效 制作随鼠标滚动的菜单 目标 使用style属性制作菜单特效 使用className属性制作菜单特效 使用scrollTop制作随鼠标指针滚动的广告图片 1. 样式表类型    1.1:内联样式:标签内 1.2:内部样式:head

张利龙的优快云博客 1798

Vivado加上VsCode让你的生活更美好

VsCode与Vivado的灵活使用 引言 ​ 现在大二了,在接触硬件描述语言。Vivado自带的编辑器实在很难用,为了能够“极客”一些,当然是去Google了一下有哪些方法可以取而代之。 ​ 网络上的答案大同小异,基本上都是用的Sublime Text.(我的学长们也几乎都是) 平时码代码的过程中,我习惯与使用VsCode,尤其是在微软收购GitHub之后,Code 简直就是神器了。于是乎…一个...

qq_39498701的博客 10万+

Oracle 11g安装教程(保姆级超详细安装教程)

Oracle详细安装步骤,每一步都配有图例引导 ORACLE是数据库(Oracle服务端)。是连接数据库的客户端(Oracle客户端)。是连接oracle的可视化客户端软件。

2302_81846649的博客 1万+

accp6.0 《使用javascript增强交互效果》学习笔记ch3 DOM编程

目标: 1.使用getElementById()方法访问Dom元素 2.使用getElementsByName()方法访问Dom元素 3.使用getElementsByTagName()方法访问Dom元素 4.使用display样式属性控制元素的隐藏和显示   关键词

张利龙的优快云博客 942

STM32开发 -- 4G模块开发详解(1)

这部分一直再看,资料都已经整理好了,但是一直没有汇总。接下来就详细的看一下,GSM这部分是怎么实现的。

不积跬步,无以至千里 5万+

高级 JavaScript 实例

检测浏览器及版本 var browser=navigator.appName var b_version=navigator.appVersion var version=parseFloat(b_version) document.write("浏览器名称:"+

张利龙的优快云博客 1798

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

accp6.0 《使用javascript增强交互效果》学习笔记ch4 DOM高级编程

目标 1.使用getElement系列方法实现dom元素的查找和定位 2.使用Core Dom标准操作实现节点的增删改查 3.使用HTML DOM 特有操作实现HTML元素内容的修改   关键词 core 核心 attribute 属性  append 追加 node

张利龙的优快云博客 1777

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: w3shool学习3-PHP 字符串
下一篇: accp6.0 《使用javascript增强交互效果》学习笔记ch7 正则表达式和表单辅助特效
amtea
博客等级 码龄16年 66粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值