当前位置:文档之家› 表单验证和正则表达式

表单验证和正则表达式

正则表达式和表单验证
 主要内容
 什么是表单的验证
 表单的操作
 表单的验证
 正则表达式的定义
 正则表达式验证

(一) 什么是表单的验证
 表单的验证
在JavaScript之前,所有的验证都是发生在服务器上,增加了反应
时间
使用JavaScript验证,则在数据提交到服务器端之前进行一系列的
判断,比如数据不全或无效则取消提交,同时再提示重新输入.

 表单的验证一般有两种形式
一个是在button按钮的onclick事件上完成,如果返回false则取消
提交
在提交按钮的onsubmit事件完成,如果返回false,表单不提交

 常见的验证
文本框是否为空?
选择型的表单是否选择?
用户输入的邮件地址是否合法?
用户是否已输入合法的日期?

(二) 表单的操作

 引用表单域
根据表单的名字获取表单的引用
var myForm = doucument.forms[“name”];
根据表单数组获取
var myForm = document.forms[0];

 表单中的属性

属性 描述
action
表单提交的服务器资源的名称,就是表单的action属性值

elements
得到一个数组,代表了表单中所有表单域的集合

encoding
返回或设置表单的MIME类型,默认为aplication/x-www-form-urlencoded

length
返回该表单中表单域的数量

method
返回或设置表单的提交方法,就是表单的method属性

name
返回或设置表单的名字,相当于表单的name属性

target
返回这设置表单的提交目标,相当于表单的target属性

 表单中的方法

方法 描述
submit
提交表单,相当于单击提交按钮

reset
重置表单,相当于单击重置按钮

 表单中的事件

事件名 描述
onsubmit
在提交表单前,如果返回值为false,表单不能提交

onreset
在表单复位之前触发

 表单域中的通用属性
disabled属性
name属性:name的属性值是可以通过JavaScript改变
form属性:通过form属性可以获得一个表单域所在的表单
value属性:用来获取表单域的值.
表单域 value的含义
文本框 文本的值
密码框 密码的值
隐藏域 Value属性的值
单选按钮 被选中的单选框的value的值,默认为on
复选按钮 被选中复选按钮的value值,默认为on
按钮 表示显示在按钮上的文字
列表框 表示选中的option元素的value值

 表单域中的通用方法
 focus()方法
 blur()方法
 表单域中的通用事件
onfocus和onblur事件
onclick、onkeydown、onkeyup和onkeypress事件
onmouseover、onmouseout、onmousedown、和onmouseup事件
onchange事件

 使用文本域
获取和设置文本域的值
使用select方法选中文本

 使用按钮类表单域
简单按钮:最常用的方法捕获onclick事件,然后执行代码



复选按纽:通过checked属性获取,选中时是true,否则为false.
单选按钮:通过checked属性获取,选中时是true,否则为false.

 使用下拉列表框
获取和设置下拉列表框的值
下拉列表框的值表示被选中的option标记的value属性
获取选项的个数
select对象有一个length属性,表示选项的个数
获取当前选项的索引
select对象中使用selectedIndex属性获取当前选中的option对象的索引
获取所有选项的集合
用options属性表示所有option组成的集合,option的value代表其值,text属性
代表其中间的文本,selected属性决定该option是否被选中
为select动态添加选项
在所有的option后面添加一个新的选项
Select.options[select.length] = new Option(“optiontext”,”value”);
从select中删除一个选项
 Select.options[1] = null;
清空一个select

替换一个选项
Select.options[0] = new Option(“optiontext”,”value”);
举例
(三) 表单的验证举例
验证文本框中内容是否为空

验证选择域是否选择
验证单选按钮是否选择
(四) 正则表达式定义
什么是正则表达式
 正则表达式就是一种字符串
 描述字符串结构模式的表达方法
 匹配字符的格式
常用的元字符
字符 说明
\
将下一个字符标记为转义字符。如: \n, \\

^
匹配输入字符串开始的位置

$
匹配字符串结束的位置

*
零次或者多次前面的字符或表达式

+
一次或者多次前面的字符或表达式

?
零次或一次前面的字符或表达式

{n}
n是非负整数,正好匹配n次

{n,}
n是非负整数,至少匹配n次

{n,m}
n,m都是非负整数,至少匹配n次,最多匹配m次

x|y
与x或y匹配

[xyz]
字符集,与方括号中的任意一个字符匹配

[^xyz]
反向字符集,不与方括号中的任意一个字符匹配

[a-z]
字符范围,匹配指定范围内的任意字符

[^a-k]
反向字符范围,不与指定范围内的任意字符匹配

\b
匹配一个字边界

\B
非字边界

\d
匹配数字字符,与[0-9]等效

\D
匹配非数字字符,与[^0-9]

\f
匹配换页符,

\n
匹配换行符

\r
匹配回车符

\t
匹配制表符

\v
匹配垂直制表符

\s
匹配任何空白字符与[\f\r\t\v]等效

\S
匹配任何非空白字符

\w
匹配任何字类字符,包括下划线,与[A-Za-z0-9_]等效

\W
匹配任何非字类字符

常用的方法
方法 说明
exec(str)
按照正则表达式的匹配模式对str进行查找,设定全局搜索模式(g),则匹配查

找RegExp对象的lastIndex属性所指定的目标字符串的位置开始;若没有匹配
上,则返回null。该方法会改变对象中的值。
test(str)
判断str是否和指定的模式匹配,返回一个boolean值,如果匹配返回true,

否则返回false,该方法不会改变对象中的值.
(五) 正则表达式的验证举例

相关主题