zoukankan      html  css  js  c++  java
  • Java学习10.22(Javaweb对输入信息进行验证——常用的方法)

    1.对字符串str 的处理方法

    str.length
    表示字符串的长度
    str.charAt(i)
    获取字符串中第 i 个字符,i 从 0 开始
    str.indexOf(c)
    查找某个字符的位置,返回值是该字符第一次出现的位置,位置编号从0 开始。如果没有找到,则返回-1
    str.substring(index1,index2)
    获取子串,第一个参数表示开始位置,第二个参数表示结束位置,子串包括第一个参数,不包括第二个参
    数。如果只有一个参数,则获取从该参数开始到字符串结束的子串,此时方法就变成 str.substring(index)。 
    str==另一个字符串
    判断 str 与另一个字符串是否相同。

    2、 非空验证

    // 验证是否是空
    function isNull(str)
    {
    if(str.length==0)
    return true;
    else
    return false;
    }

    3、. 字符串长度验证

    // 验证是否满足最小长度
    function minLength(str,length)
    {
    if(str.length>=length)
    return true;
    else
    return false;
    }

    4、// 判断是否满足最大长度

    function maxLength(str,length)
    {
    if(str.length<=length)
    return true;
    else
    return false;
    }
     

    5、日期验证

    // 判断是否是日期,日期的格式为 1988-1-1 
     1 function isDate(date) 
     2  { 
     3  // 查找分隔符
     4  index1 = date.indexOf("-"); 
     5  // 如果分隔符不存在,则不是合法的时间
     6  if(index1 == -1) 
     7  return false; 
     8  // 获取时间中的年
     9  year = date.substring(0,index1); 
    10  // 获取时间中的剩下部分
    11  date = date.substring(index1+1); 
    12  // 查找第二个分隔符
    13  index1 = date.indexOf("-"); 
    14  // 如果不存在第二个分隔符,则不是合法的时间
    15  if(index1 == -1) 
    16  return false; 
    17  // 获取时间中的月份
    18  month = date.substring(0,index1); 
    19  // 获取时间中的日
    20  day = date.substring(index1+1); 
    21  // 判断是否是数字,如果不是则不是合法的时间
    22  if(isNumber(year) && isNumber(month) && isNumber(day)) 
    23  { 
    24  // 判断基本范围
    25  if(year<1900 || year>9999 || month<1 || month >12 || day<1) 
    26  return false; 
    27  // 判断 31 天的月
    28  if((month==1 || month==3 || month==5 || month==7 
    29  || month==8 || month==10 || month==12) && day>31) 
    30  return false; 
    31  // 判断 30 天的月
    32  if((month==4 || month==6 || month==9 || month==11) 
    33  && day>30) 
    34  return false; 
    35  // 如果是 2 月,判断是否为闰年
    36  if(month==2) 
    37  { 
    38  if(year%400==0 || (year%4==0 && year%100!=0)) 
    39  { 
    40  if(day>29)
    41 return false; 
    42  }else 
    43  { 
    44  if(day>28) 
    45  return false; 
    46  } 
    47  } 
    48  } 
    49  else 
    50  return false; 
    51  return true; 
    52  }

    6、数字验证 

    // 判断是否是整数 
     1 function isNumber(str) 
     2  { 
     3  for(i=0;i<str.length;i++) 
     4  { 
     5  // 每一位都是 0~9 的数字,如果是第 1 位,则可以是“-”号
     6  if(str.charAt(i)>='0' && str.charAt(i)<='9' 
     7  || str.charAt(i)=="-" && i==0) 
     8  continue; 
     9  else 
    10  return false; 
    11  } 
    12  return true; 
    13  }

    7、E-mail 格式验证

    // 判断是否是 E-mail 
     1 function isEmail(email) 
     2  { 
     3  if(email.length==0) 
     4  return false; 
     5  index1 = email.indexOf('@'); 
     6  index2 = email.indexOf('.'); 
     7  if(index1 < 1 // @符号不存在,或者在第一个位置
     8  || index2 < 1 // .符号不存在,或者在第一个位置
     9  || index2-index1 <2 // .在@的左边或者相邻
    10 || index2+1 == email.length) // .符号后面没有东西
    11  return false; 
    12  else 
    13  return true; 
    14 }

    正则表达式

    正则表达式提供了一种高级的、但不直观的字符串匹配和处理的方法。它描述了一种字符串匹配的模式,可以用来判断一个字符串是否满足某种格式,或者一个字符串是否含有某个子串等。 

    1. 字符集 

    字符 作用
    .
    匹配除 以外的任何一个字符 
    []
    匹配包含在方括号内的任何一个字符 
    ^
    用在方括号中表示匹配除方括号中字符以外的任何字符 
    示例:
    .at:匹配以任意字符开头,后面为 at 的字符串,如“cat”、“bat”、“#at”等。
    [a-z]:匹配任意一个小写字母(a~z 之间的),如“a”、“c”、“e”等。
    [aeiou]:匹配任意一个元音字母。
    [a-zA-Z]:匹配任意一个大写或小写字母。
    [^a-z]:匹配任何不在 a~z 之间的字符。 
     

    2. 重复

    正则表达式中用于确定重复次数的字符:
    字符 作用
    *
    表示重复 0 次或以上 
    +
    表示重复 1 次或以上 
    表示重复 0 次或 1 次
     
    示例:
    [a-zA-Z]*:匹配由任意大小写字母构成的字符串,也可以是空字符串,如“abc”。
    [0-9]+:匹配任何由数字构成的字符串,该字符串至少包含一个字符,如“1234”。
    [a-z0-9]?:匹配空字符串,或者一个小写字母或数字。 

     3. 子表达式

    正则表达式中子表达式的格式和作用:
    字符 作用
    ()
    将多个字符作为一个子表达式 
    示例:
    (very )*large:匹配“large”、“very large”、“very very large”等。注意 very 后面的空格。 

     4. 子表达式计数 

     字符  作用
     {n}
    表示重复 n 次 
    {m,n}   
    表示重复 m~n 次
    {m,}   
    表示重复 m 次以上
    示例:
    (very ){1} :匹配“very ”。
    (very ){1,3}:匹配“very ”、“very very ”、“very very very ”。
    (very ){1,}:匹配由一个或一个以上“very ”构成的字符串

    明日计划

    学习Javaweb中的设置页面的编码方式 

  • 相关阅读:
    forward redirect 区别
    request response 区别
    Java集合 初步了解
    通过session统计当前在线人数
    Session保存用户名到Session域对象中
    Cookie获取用户的访问记录
    表单中有关于爱好的多选框, 篮球,足球,游泳,跑步, 再有一个多选框,代表全选
    jQuery常用子元素过滤选择器
    jQuery常用属性过滤选择器
    jQuery常见可见性过滤选择器
  • 原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/14182268.html
Copyright © 2011-2022 走看看