第五章 表单验证

1.为什么要表单验证:
减轻服务器压力
节省时间,提高用户体验

2.常用的表单验证的方法:
(1)非空验证:if(mail=="")
(2)长度验证:if(pwd.length<6)
(3)判断字符串是否存在:if(mail.indexOf("@")==-1)
(4)判断字符串是否有数字使用for循环和substring()方法一次截断单个字符
在判断每个字符是否是数字
for(var i=0;i<user.length;i++){
var j=user.substring(i,i+1);
if(isNaN(j)==false){
alert("姓名中不能包含数字!");
return false;
}
}

3.表单验证中常用的事件和方法:
(1)事件:
onblur() 失去焦点,当光标离开某个文本框时触发
onfocus() 获取焦点,当光标进入某个文本框时触发
(2)方法:
blur() 从文本域中移开焦点
focus() 在文本域中设置焦点,即获得鼠标光标
select() 获取文本域中的内容,突出显示输入区域的内容

==============表单选择器======================= 

:input 匹配所有input,textarea,select和button元素
:text 匹配所有单行文本框
:password 匹配所有密码框
:radio 匹配所有单项按钮
:checkbox 匹配所有复选框
:submit 匹配所有提交按钮
:image 匹配所有图像域
:reset 匹配所有重置按钮
:button 匹配所有按钮
:file 匹配所有文件域
:hidden 匹配所有不可见元素,或者type 为hidden的元素

 

==================正则表达式=================== 

4.为什么需要正则表达式:
代码更简洁
更加规范和严谨

5.定义这个表达式的两种方式:
(1)普通方式:
var reg=/表达式/附加参数
(2)构造函数:
var reg=new RegExp("表达式","附加参数")

6.正则表达式的表达模式:
简单模式:只能表示具体的匹配
复合模式:可以使用通配符表达更为抽象的模式

7.RegExp对象的方法:
exec 检索字符中是正则表达式的匹配,返回找到的值,并确定其位置
test 检索字符串中指定的值,返回true或false

8.RegExp对象的属性:
global RegExp对象是否具有标志g
ignoreCase RegExp对象是否具有标志i
multiline RegExp对象是否具有标志m

9.String对象的方法:
match 找到一个或多个正则表达式的匹配
search 检索与正则表达式相匹配的值
replace 替换与正则表达式匹配的字符串
split 把字符串分割为字符串数组

10.正则表达式的符号:
/../ 代表一个模式的开始和结束
^ 匹配字符串的开始
$ 匹配字符串的结束

[a-z] 字符范围。匹配指定范围内的任意字符。
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。

 

{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
{n,m} 匹配前一项至少n次,但是不能超过m次
* 匹配前一项0次或多次,等价于{0,}
+ 匹配前一项0次或多次,等价于{1,}
? 匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}

 


\s 匹配任何空白字符,包括空格、制表符、换页符等等。
\S 任何非空白字符
\d 匹配一个数字字符,等价于[0-9]
\D 除了数字之外的任何字符,等价于[^0-9]
\w 匹配一个数字,下划线或字母字符,等价于[A-Za-z]
\W 任何非单子字符,等价于[^a-zA-z0-9]
\b 匹配一个单词边界,也就是指单词和空格间的位置。

\f 匹配一个换页符。 

\n 匹配一个换行符。

\r 匹配一个回车符。 

\t 匹配一个制表符。 

\v 匹配一个垂直制表符。

\num 匹配 num,其中 num 是一个正整数。

\. 匹配小数点(.)本身

 

. 小数点可以匹配除了换行符(\n)以外的任意一个字符

| 左右两边表达式之间 "或" 关系。

( ) 标记一个子表达式的开始和结束位置。

[ ] 用来自定义能够匹配 '多种字符' 的表达式。使用 "\[" 和 "\]"

{ } 修饰匹配次数的符号。要匹配大括号,请使用 "\{" 和 "\}"

 

11.常用正则表达式

邮箱:/^(\W|\w)+@\w{2,3}(.[a-z]){1,2}$/
电话号码:/^1\d{10}$/
邮编:/^\d{6}$/
年龄:/^(1[0-1]||[1-9])?\d$/57

只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。

只能输入m~n位的数字:"^\d{m,n}$" 。

只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。

只能输入非零的正整数:"^\+?[1-9][0-9]*$"。

只能输入非零的负整数:"^\-[1-9][]0-9"*$。

只能输入长度为3的字符:"^.{3}$"。

只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。

只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。

只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。

posted @ 2018-01-12 15:22  NAI233  阅读(138)  评论(0编辑  收藏  举报