表单验证

表单验证

表单验证的优势

  • 减轻服务器的压力
  • 保证输入的数据符合要求

表单选择器

语 法描 述
:input匹配所有 input、textarea、select 和 button元素
:text匹配所有单行文本框
:password匹配所有密码框
:radio匹配所有单选按钮
:checkbox匹配所有复选框
:submit匹配所有提交按钮
:image匹配所有图像域
:reset匹配所有重置按钮
:button匹配所有按钮
:file匹配所有文件域
:hidden匹配所有不可见元素,或者 type=hidden 的表单元素
:enabled匹配所有可用元素
:disabled匹配所有不可用元素
:checked匹配所有被选中元素(checkbox、radio、select 中的 option)
:selected匹配所有选中的 option 元素

表单验证事件和方法

类 别名称描述
事件onblur失去焦点,当光标离开某个文本框时触发
onfocus获得焦点,当光标进入某个文本框时触发
方法blur()从文本域中移开焦点
focus()在文本域中设置焦点,即获得鼠标光标
select()选取文本域中的内容,突出显示输入区域的内容

正则表达式

正则表达式优势

  • 简洁的代码
  • 严谨的验证文本框中的内容

定义正则表达式

普通方式

语法 1
	var regExp=/表达式/附加参数(只能表示具体的匹配)
	eg:
		var regExp=/white/;
		var regExp=/white/g;

构造函数

语法 2
	var regExp=new RegExp("表达式","附加参数");
	eg:
		var regExp=new RegExp("white");
		var regExp=new RegExp("white","g");
		

复合模式

可以使用通配符表达更为抽象的规则模式

eg:
	var reg=/^\w+$/;
	var reg=/^\w+.[a-zA-Z]{2,3}$/;
	...

RegExp 对象

RegExp 方法

方 法描 述
exec检索字符中是正则表达式的匹配,返回找到的值,并确定其位置
test检索字符中指定的值,返回 true 或 false

RegExp 属性

属 性描 述
globalRegExp 对象是否具有标志 g
ignoreCaseRegExp 对象是否具有标志 i
multilineRegExp 对象是否具有标志 m

String 对象的方法

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

正则表达式符号

符 号描 述
/…/代表一个模式的开始和结束
^匹配字符串的开始
$匹配字符串的结束
\s任何空白字符(Tab、空格、Enter 等)
\S任何非空白字符
\d匹配一个数字字符,等价于 [0-9]
\D除了数字之外的任何字符,等价于 [^0-9]
\w匹配一个数字、字母、下划线,等价于 [a-zA-Z0-9_]
\W任何非单字字符,等价于 [^a-zA-Z0-9_]
.除了换行符之外的任何字符
{ n }匹配前一项 n 次
{ n,}匹配前一项 n 次,或者 多次
{ n,m }匹配前一项至少 n 次,但是不能超过 m 次
*匹配前一项 0 次或 多次,等价于{0, }
+匹配前一项 1 次或 多次,等价于{1, }
?匹配前一项 0 次 或 1 次 ,等价于{ 0,1 }

HTML5 新增验证属性

属 性描 述
placeholder提供一种提示(hint),输入域为空时显示,获得焦点输入内容后消失
required规定输入域不能为空
pattern规定验证 input 域的模式(正则表达式)

validity 属性

validityState 对象

属 性描 述
valueMissing表单元素设置了 required 特性,则为必填项。如果必填项的值为空,就无法通过表单验证,valueMissing 属性会返回 true,否则返回 false
typeMismatch输入值与 type 类型不匹配。HTML5 新增的表单类型如 email、number、url等,都包含一个原始的类型验证。如果用户输入的内容与表单类型不符合,则typeMismatch 属性则返回 true,否则返回 false
patternMismatch输入值与 pattern 特性的正则表达式不匹配。如果输入的内容不符合 pattern 验证模式的规则,则 patternMismatch 属性将返回 true,否则返回 false
tooLong输入的内容超过了表单元素的 maxLength 特性限定的字符长度
rangeUnderflow输入的值小于 min 特性的值。如果输入的数值小于最小值,则返回 true,反之 false
rangeOverflow输入的值大于 max 特性的值。
stepMismatch输入的值不符合 step 特性所推算出的值。用于填写数值的表单元素可能需要同时设置 min 、max 和 step 特性,这就限制了输入的值必须是最小值与 step 特性值的倍数之和
customError使用自定义的验证错误提示信息。使用 setCustomValidity() 方法自定义错误提示信息:setCustomValidity(message) 会把错误提示信息自定义为 message,此时 customError 属性值为 true;setCustomValidity(" ") 会清除自定义的错误信息,此时 customError 属性值为 false

归纳

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值