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中的设置页面的编码方式 

原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/14182268.html