使用jQuery快速高效制作网页交互特效、第九章

本文详细介绍了使用jQuery进行表单验证的思路和技术,包括检查表单元素是否为空、验证数字、邮件地址有效性等。同时,讨论了正则表达式在验证中的重要性,阐述了正则表达式的定义、模式匹配以及常用方法如test()、match()、replace()和split()。最后,提到了HTML5新增的表单验证属性,如placeholder、required和pattern。
摘要由CSDN通过智能技术生成

表单验证

一:表单基本验证技术
1、表单验证的必要性

  • 减轻服务器端的压力,避免服务器端的信息出现错误。

2、表单验证的内容

  • 检查表单元素是否为空
  • 验证是否为数字
  • 验证用户输入的邮件地址是否有效
  • 检查用户输入的数据是否在某个范围之内
  • 验证用户输入的信息长度是否足够
  • 检查用户输入的出生日期是否有效
    3、表单验证的思路
    ①首先获取表单元素的值,这些值一般是String类型,包含数字、下划线等。
    ②使用JavaScript中的一些方法对获取的String类型的数据进行判断。
    ③表单form有一个事件onsubmit,它是在提交表单之前调用的,因此可以在提交表单时触发onsubmit事件,然后对获取的数据进行验证。

二:表单选择器
1、表单选择器简介
表单选择器就是用来选择文本输入框、按钮等表单元素的。

表单选择器
在这里插入图片描述
表单属性过滤器
在这里插入图片描述
2、验证表单内容
使用String对象验证邮箱:
用indexOf(“符号”)==-1检测是否包含符号,若不包含则表达式返回-1。
3、校验提示特效
①表单验证事件和方法
表单验证常用的方法和事件:
在这里插入图片描述


三:正则表达式
1、为什么需要正则表达式
使验证更加严谨!
2、什么是正则表达式

  • 正则表达式是一个描述字符模式的对象,它是由一些特殊的符号组成的,这些符号和在SQLServer中的通配符一样,其组成的字符模式用来匹配各种表达式。
  • RegExp对象是Regular Expression(正则表达式)的缩写,它是对字符串执行模式匹配的强大工具。简单的模式可以是一个单独的字符,复杂的模式包括了更多的字符。

①定义正则表达式
(1)普通方式
语法:

var reg=/表达式/附加参数
  • 表达式:一个字符串代表了某种规则,其中可以使用某些特殊字符来代表特殊的规则。
  • 附加参数:
g:代表可以进行全局匹配
i:代表不区分大小写匹配
m:代表可以进行多行匹配

(2)构造函数
语法:

var reg=new RegExp("表达式","附加参数");

普通方式中的表达式必须是一个常量字符串,而构造函数中的表达式可以是常量字符串,也可以是一个JavaScript变量

②表达式的模式
(1)简单模式
只能表示具体的匹配。
(2)复合模式
表达抽象化的规则模式
RegExp对象
在这里插入图片描述

test()方法用于检测一个字符串是否匹配某个模式。
语法:

正则表达式对象实例.test(字符串)

如果字符串中含有与正则表达式匹配的文本,则返回true;否则返回false。
String对象的方法
在这里插入图片描述
match()方法
在字符串内检索指定的值,找到一个或多个正则表达式的匹配。
语法:

字符串对象.match(searchString或regexpObject)

searchString是要检索的字符串的值,regexpObject是规定要匹配模式的RegExp对象

replace()方法
用于字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
语法:

字符串对象.replace(RegExp对象或字符串,"替换的字符串")

如果设置了全文搜索,则符合条件的RegExp或字符串都将被替换;否则只替换第一个,返回替换后的字符串。

split()方法
将字符串分割成一系列子串并通过一个数组将这一系列子串返回。
语法:

字符串对象.split(分隔符,n)

分隔符可以是字符串,也可以是正则表达式。n为限制输出数组的个数,为可选项,如果不设置n,则返回包含整个字符串的元素数组。

RegExp对象的属性
在这里插入图片描述

  • global属性用于返回正则表达式是否具有标志g,它声明了给定的正则表达式是否执行全局匹配,如果g标志被设置,则该属性为true;否则为false。
  • ignoreCase属性用于返回正则表达式是否具有标志i,它声明了给定的正则表达式是否执行忽略大小写,如果i标志被设置,则该属性为true;否则为false。
  • multiline属性用于返回正则表达式是否具有标志m,它声明了给定的正则表达式是否执行以多行模式执行模式匹配,如果m标志被设置,则该属性为true;否则为false。

正则表达式的常用符号

符号描述
/…/代表一个模式的开始和结束
^匹配字符串的开始
$匹配字符串的结束
\s任何空白字符
\S任何非空白字符
\d匹配一个数字字符,等价于[0-9]
\D除了数字之外的任何字符,等价于[^0-9]
\w匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
\W任何非单子字符,等价于[^a-zA-z0-9_]
.除了换行符之外的任意字符

正则表达式的重复字符
在这里插入图片描述
正则表达式中(),[]和{},区别如下:
() 是为了提取匹配的字符串,表达式中有几个()就有几个相应的匹配字符串。
[] 是定义匹配的字符串,如[A-Za-z0-9]表示字符串要匹配英文字符和数字。
{} 用来匹配长度,如\s{3}表示匹配三个空格。


四:使用HTML5的方式验证表单
1、HTML5新增属性
在这里插入图片描述
①placeholder
告诉用户应该在此输入框中输入什么内容,当用户在输入框中输入内容时提示信息自动消失。
②required
提交表单时会自动验证表单元素是否为空,如果为空则自动给出提示。
③pattern
用于验证输入框中用户输入内容是否与自定义的正则表达式相匹配,该属性要求用户指定一个正则表达式,验证时要求用户输入的内容必须符合正则表达式所指定的规则。
2、validity属性
validity属性可以获取表单元素的validityState对象
语法:

var validityState=document.getElementById("uName").validity;

validityState对象包括八个属性,分别针对八个方面的错误验证。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值