zoukankan      html  css  js  c++  java
  • 202.11.13

    一、今日学习内容:

     对输入信息进行验证
    2.4.1 JavaScript 语言
    在 Web 应用中需要在客户端执行的功能可以使用 JavaScript 语言编写,在使用的时候
    需要把 JavaScript 代码放在下面的两个标识之间:
    <script language="JavaScript">
    相关 JavaScript 代码
    </script>
    JavaScript 代码与 Java 代码比较类似,但是更灵活一些。本书只介绍与客户端验证相关
    的 JavaScript 代码,如果读者想更深入地学习,可以参考专门的书籍。
    通常会把对不同内容的验证写成不同的方法,方法的格式如下:
    function 方法名(参数)
    {
    // 方法体
    }
    不需要写方法的返回值类型,但是方法可以有返回值,并且可以是各种类型的返回值。
    方法的参数类型也可以不写。把方法放在 JavaScript 的开始标识和结束标识之间即可。
    第 2 章 输 入 39
    2.4.2 使用表单数据
    要对用户输入的信息进行验证,需要先获取输入信息。每个表单元素都属于一个 form
    表单,要获取信息,需要先获取 form,然后访问表单元素的值。
    有两种方式可以获取 form表单。
    第一种方式通过 document 对象获得 form:
    form = document.form1
    其中,form1 是表单元素的名字。
    另一种方式是在调用验证方法的时候把 form作为参数来获得 form,本章实例中使用的
    就是这种方式:
    isValidate(form1)
    其中,form1 就是表单的名字。
    得到 form之后,获取表单元素的值的代码如下:
    form.userid.value
    其中,userid 是表单元素,value 是该表单元素的值。
    2.4.3 调用验证方法
    验证通常在表单提交之前进行,可以通过按钮的 onClick 事件,也可以通过 form 表单
    的 onSubmit 事件来完成。
    本章实例是通过 form表单的 onSubmit 事件来完成的:
    <form name="form1" action="register_confirm.jsp" method="post"
    onSubmit="return isValidate(form1)">
    如果要通过按钮的 onClick 事件完成,可以使用下面的代码:
    <input type="button" value="提交" onClick="JavaScript:isValidate()">
    如果使用这个方法,在验证通过之后,需要编写提交表单的代码:
    document.form1.submit();
    2.4.4 提示用户信息
    在验证失败之后通常需要提示用户错误信息,可以通过下面的代码完成:
    alert("地址长度大于 50 位!");
    当使用 alert 提示错误信息时,参数是要显示的错误信息。上面就是当用户输入的地址
    信息的长度大于 50 的时候提示用户的信息。
    如果验证失败,则通常会把光标放在相应的输入框中,可以使用下面的代码:
    form.address.focus();
    如果地址的长度不合适,就会把光标放在地址输入框中。
    2.4.5 常用的方法
    在验证过程中,有些方法经常被使用,这些方法主要是与字符串处理相关的方法。假
    设 str 是一个字符串,下面列出常用的对 str 的处理方法:
    40 Java Web 程序设计基础教程
    str.length,表示字符串的长度。
    str.charAt(i),获取字符串中第 i 个字符,i 从 0 开始。
    str.indexOf(c),查找某个字符的位置,返回值是该字符第一次出现的位置,位置编号从
    0 开始。如果没有找到,则返回 - 1。
    str.substring(index1,index2),获取子串,第一个参数表示开始位置,第二个参数表示结
    束位置,子串包括第一个参数,不包括第二个参数。如果只有一个参数,则获取从该参数
    开始到字符串结束的子串,此时方法就变成 str.substring(index)。
    str==另一个字符串,判断 str 与另一个字符串是否相同。
    下面是一些常用的验证。
    1. 非空验证
    // 验证是否是空
    function isNull(str)
    {
    if(str.length==0)
    return true;
    else
    return false;
    }
    2. 字符串长度验证
    // 验证是否满足最小长度
    function minLength(str,length)
    {
    if(str.length>=length)
    return true;
    else
    return false;
    }
    // 判断是否满足最大长度
    function maxLength(str,length)
    {
    if(str.length<=length)
    return true;
    else
    return false;
    }
    3. 日期验证
    // 判断是否是日期,日期的格式为 1988-1-1
    第 2 章 输 入 41
    function isDate(date)
    {
    // 查找分隔符
    index1 = date.indexOf("-");
    // 如果分隔符不存在,则不是合法的时间
    if(index1 == -1)
    return false;
    // 获取时间中的年
    year = date.substring(0,index1);
    // 获取时间中的剩下部分
    date = date.substring(index1+1);
    // 查找第二个分隔符
    index1 = date.indexOf("-");
    // 如果不存在第二个分隔符,则不是合法的时间
    if(index1 == -1)
    return false;
    // 获取时间中的月份
    month = date.substring(0,index1);
    // 获取时间中的日
    day = date.substring(index1+1);
    // 判断是否是数字,如果不是则不是合法的时间
    if(isNumber(year) && isNumber(month) && isNumber(day))
    {
    // 判断基本范围
    if(year<1900 || year>9999 || month<1 || month >12 || day<1)
    return false;
    // 判断 31 天的月
    if((month==1 || month==3 || month==5 || month==7
    || month==8 || month==10 || month==12) && day>31)
    return false;
    // 判断 30 天的月
    if((month==4 || month==6 || month==9 || month==11)
    && day>30)
    return false;
    // 如果是 2 月,判断是否为闰年
    if(month==2)
    {
    if(year%400==0 || (year%4==0 && year%100!=0))
    {
    if(day>29)
    42 Java Web 程序设计基础教程
    return false;
    }else
    {
    if(day>28)
    return false;
    }
    }
    }
    else
    return false;
    return true;
    }
    4. 数字验证
    // 判断是否是整数
    function isNumber(str)
    {
    for(i=0;i<str.length;i++)
    {
    // 每一位都是 0~9 的数字,如果是第 1 位,则可以是“-”号
    if(str.charAt(i)>='0' && str.charAt(i)<='9'
    || str.charAt(i)=="-" && i==0)
    continue;
    else
    return false;
    }
    return true;
    }

    二、遇到的问题:

    最后的这几种验证不清楚。

    三、明日学习计划:
    继续学习javaweb。

  • 相关阅读:
    jQuery邮箱验证
    查看图片前进后退效果
    jQuery实现全选与反选
    jQuery在p前后添加节点
    jQuery中的fadeIn、fadeOut、fadeTo的应用
    jQuery中图片隐藏效果的所有方法
    jQuery中animate的应用(图片自动移动)
    jQuery图片复制
    N!具体数值有多少位数字
    顺序队列的初始化,建立,插入,查找,删除。
  • 原文地址:https://www.cnblogs.com/marr/p/14176501.html
Copyright © 2011-2022 走看看