JQuery制作网页——第九章 表单验证
1、 表单验证:减轻服务器的压力、保证输入的数据符合要求;
2、 常用的表单验证:日期格式、表单元素是否为空、用户名和密码、E-mail地址、身份证号码等;
3、 表单验证的思路:
|
1. 获得表单元素值,这些值一般是String类型,包含数字、下划线等; 2. 使用JavaScript的一些方法对获取的String类型的数据进行判断; 3. 当表单提交时,触发onsubmit事件,对获取的数据进行验证; |
|
●表单选择器用于选取某些特定的表单元素,比如所有单选按钮或隐藏的元素; |
4、表单选择器:
|
语法 |
描述 |
示例 |
|
:input |
匹配所有input、textarea、select和button 元素 |
$("#myform :input")选取表单中所有的input、select和button元素 |
|
:text |
匹配所有单行文本框 |
$("#myform :text")选取email 和姓名两个input 元素 |
|
:password |
匹配所有密码框 |
$("#myform :password" )选取所有<input type="password" />元素 |
|
:radio |
匹配所有单项按钮 |
$("#myform :radio")选取<input type="radio" />元素 |
|
:checkbox |
匹配所有复选框 |
$(" #myform :checkbox " )选取<input type="checkbox " />元素 |
|
:submit |
匹配所有提交按钮 |
$("#myform :submit " )选取<input type="submit " />元素 |
|
:image |
匹配所有图像域 |
$("#myform :image" )选取<input type=" image" />元素 |
|
:reset |
匹配所有重置按钮 |
$(" #myform :reset " )选取<input type=" reset " />元素 |
|
:button |
匹配所有按钮 |
$("#myform :button" )选取button 元素 |
|
:file |
匹配所有文件域 |
$(" #myform :file" )选取<input type=" file " />元素 |
|
:hidden |
匹配所有不可见元素,或者type 为hidden的元素 |
$("#myform :hidden" )选取<input type="hidden " />、style="display: none"等元素 |
5、表单属性过滤选择器:
|
语法 |
描述 |
示例 |
|
:enabled |
匹配所有可用元素 |
$(" #userform :enabled" )匹配form内部除编号输入框外的所有元素 |
|
:disabled |
匹配所有不可用元素 |
$(" #userform :disabled" )匹配被禁用的输入框 |
|
:checked |
匹配所有被选中元素(复选框、单项按钮、select 中的option) |
$(" #userform :checked" )匹配选中的选项 |
|
:selected |
匹配所有选中的option 元素 |
$(" #userform :selected" ) 匹配指定元素的选项 |
6、验证表单内容:
|
●使用String 对象验证邮箱:不能为空,格式正确 ●文本框内容的验证: 密码不能为空,不少于6个字符,姓名不能为空,不能有数字 |
||
![]() |
||
|
●使用String 对象验证邮箱: ●实现思路 1、 使用val( )方法获取文本框的值 2、 使用indexOf( ) 来判断字符串是否包含“@”和“.” 3、使用方法submit( )提交表单 4、根据返回值是true还是false来决定是否提交表单 |
eg: $(document).ready(function(){ $("form").submit(function(){ var mail = $("#myform :text").val(); if (mail=="") {//检测Email是否为空 alert("Email不能为空"); return false; } if (mail.indexOf("@") == -1) { alert("Email格式不正确\n必须包含@"); return false; } if (mail.indexOf(".") == -1) { alert("Email格式不正确\n必须包含."); return false; } return true; }) }) |
|
|
●非空验证: if (mail == "") { //检测Email是否为空 alert("Email不能为空"); return false; } |
||
|
●字符串查找:indexOf():查找某个指定的字符串值在字符串中首次出现的位置 var str="this is JavaScript"; var selectFirst=str.indexOf("Java"); //返回8 var selectSecond=str.indexOf("Java",12); //返回11 |
||
|
●文本框内容的验证: 1、实现思路 2、使用String对象的length属性验证密码的长度 3、验证两次输入密码是否一致 4、使用length属性获取文本长度,然后使用for循环和substring( )方法依次截断单个字符,最后判断每个字符是否是数字 |
||
|
●长度验证: if(pwd.length<6){ //length属性可以获取字符串长度 alert("密码必须等于或大于6个字符"); return false; } |
●判断字符串是否有数字:使用for循环和substring()方法依次截断单个字符,再判断每个字符是否是数字 for (var i = 0; i < user.length; i++) { //截取单个字符 var j = user.substring(i, i + 1); if (isNaN(j) == false) { alert("姓名中不能包含数字"); return false; } } |
|
|
eg:注册页面的验证 |
||
|
验证密码: var pwd = $("#pwd").val(); if (pwd == "") { alert("密码不能为空"); return false; } if (pwd.length < 6) { alert("密码必须等于或大于6个字符"); return false; } var repwd = $("#repwd").val(); if (pwd != repwd) { alert("两次输入的密码不一致"); return false; } |
验证账号: var user = $("#user").val(); if (user == "") { alert("姓名不能为空"); return false; } for (var i = 0; i < user.length; i++) { var j = user.substring(i, i + 1); if (isNaN(j) == false) { alert("姓名中不能包含数字"); return false; } } |
|
7、表单验证事件和方法:
|
8、 正则表达式:是一个描述字符模式的对象,它是由一些特殊的符号组成的,和SQL Server中的通配符一样,其组成的字符模式用来匹配各种表达式;
|
●为什么需要正则表达式:简洁的代码、严谨的验证文本框中的内容 ●一个简单的表达式即可验证邮箱 var reg= /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/; if(reg.test(email) ==false){ $email_prompt.html("电子邮件格式不正确,请重新输入"); return false; } |
|
●定义正则表达式: ★普通方式语法: var reg=/表达式/附加参数 ◆表达式:一个字符串代表了某种规则,其中可以使用某些特殊字母来代表特殊的规则; ◆附加参数:用来扩展表达式的含义,主要三个参数如下: ☆g:代表可以进行全局匹配; ☆i:代表不区分大小写匹配; ☆m:代表可以进行多行匹配; eg: var reg=/white/; var reg=/white/g; ★构造函数语法: var reg=new RegExp("表达式","附加参数") ☆表达式可以是一个常量字符串,也可以是一个JavaScript变量; |
|
●表达式的模式: ★简单模式:通过普通字符串的组合来表达的模式(只能表示具体的匹配); eg: var reg=/china/; var reg=/abc8/; ★复合模式:可以使用通配符表达更为抽象的规则模式; eg:var reg=/^\w+$/; var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/; |
9、RegExp对象:
★test()方法:用于检测一个字符串是否匹配某个模式: 语法:正则表达式对象实例.test(字符串);//如果字符串中有正则表达式匹配的文本返回true,否则返回false; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
●RegExp对象的属性:
★global:用于返回正则表达式是否包含标志g,它声明了给定的正则表达式是否执行全局匹配,如果g被标志返回true,否则返回false; ★ignoreCase:属性用于返回正则表达式是否包含标志i,它声明了给定的正则表达式是否执行忽略大小写的匹配,如果被标志返回true; ★multiline:属性用于返回正则表达式是否包含标志m,它声明了给定的正则表达式是否以多行模式执行模式匹配,被标志返回true; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
●String对象的方法:
★math():该方法可以在字符串内检索指定的值,找到一个或多个正则表达式的匹配;类似于indexOf(),但indexOf()返回的时字符串的位置,不是指定的值 语法:字符串对象.match(searchString或regexpObject); //searchString:检索的字符串的值; //regexpObject:规定要匹配模式的RegExp对象; ★replace():该方法用于在字符串中用一些字符串替换另一些字符,或替换一个与正则表达式匹配的子串; 语法:字符串对象。replace(RegExp对象或字符串,“替换的字符串”);//如果设置了全文检索,则符合的会全部被替换,否则只替换一个; ★split():该方法将字符串分割成一系列字串并通过一个数组将这一系列字串返回; 语法:字符串对象.split(分割符,n); //分割符可以是字符串,也可以是正则表达式,n为限制输出数组的个数,可选项,若没有则返回整个数组; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
●正则表达式符号:
★@ 前后的字符可以是数字、字母、或下划线; ★但是.之后的字符只能是字母;
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
●正则表达式的重复字符:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
●这则表达式中有:()、[]、{}区别如下: ★()是为了提取匹配的字符串,表达式中有几个()就有几个相应的匹配字符串; ★[]是定义匹配的字符串,eg:[A-Za-z0-9]表示字符串要匹配英文字母和数字; ★{}是用来匹配长度,eg:\s{3}代表匹配三个空格; |
10、使用HTML5的方式验证表单:
|
●HTML5新增验证属性:
|
||||||||||||||||||
|
●validity属性:
|
^:开头,$:结束,\d:数字,{6}:6位
JQuery制作网页——第九章 表单验证的更多相关文章
- jQuery/javascript实现网页注册的表单验证
<html> <head> <meta charset="utf-8"> <title>注册表单验证</title> & ...
- 使用jQuery快速高效制作网页交互特效---表单校验
表单基本验证技术 为什么需要表单验证 减轻服务器的压力 保证输入的数据符合要求 常用的表单验证 1.日期格式 2.表单元素是否为空 3.用户名和密码 4.E-mail地址 5.身份证号码 表单选择器 ...
- jQuery学习之:Validation表单验证插件
http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...
- FineUI第九天---表单验证
表单验证 步骤: 1.比如为TextBox设置Required=”true”或者ShowRedStar=”true”两个属性,表示此输入为必填项,并且在标签的后面显示一个红色的星号提示. 2.Vali ...
- jQuery应用实例5:表单验证
1.validation插件的使用: 入门案例: <html> <head> <meta charset="UTF-8"> <title& ...
- jQuery常用插件与jQuery使用validation插件实现表单验证实例
jQuery常用插件 1,jQuery特别容易扩展,开发者可以基于jQuery开发一些扩展动能 2,插件:http://plugins.jquery.com 3,超厉害的插件:validation . ...
- jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)
1.表单验证插件——validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({o ...
- 【表单验证】基于jQuery的高度灵活的表单验证(无UI)
表单验证是前端开发过程中常见的一个需求,产品需求.业务逻辑的不同,表单验证的方式方法也有所区别.而最重要的是我们要清楚,表单验证的核心原则是--错误信息提示准确,并且尽可能少的打扰/干扰用户的输入和体 ...
- 使用jquery validate结合zui作表单验证
1.引入jquery validate和zui <!-- jQuery (ZUI中的Javascript组件依赖于jQuery) --> <script src="${_b ...
随机推荐
- Anaconda 执行命令报ssl错误
- win7 64 位安装 python,提示: 0x80240017-未指定的错误
首先确保从python官网下载正确的python版本: https://www.python.org/downloads/windows/ 然后,应该是 VC 相关的问题. 去微软网站下载下列补丁包即 ...
- windows 打印刻录 代码规范及问题
1.获取CString字节数 int z_Len = WideCharToMultiByte(CP_ACP, 0, z_FileXml.GetBuffer(), z_FileXml.GetLength ...
- CRM系统知识点之一权限(RBAC)
一个项目可以有多个应用 一个做成组件 一个做逻辑判断一个应用(做成组件形式)可以服务于多个项目 rbac权限(role-base access control)who what how什么样的角色对什 ...
- 放弃setInterval-说说定时器
上述事件循环机制的核心是:JS引擎线程和事件触发线程 但事件上,里面还有一些隐藏细节,譬如调用setTimeout后,是如何等待特定时间后才添加到事件队列中的? 是JS引擎检测的么?当然不是了.它是由 ...
- python 面向对象:类,作用域
类(Class)和实例(Instance) 定义类是通过class关键字:class Student(object): pass class后面紧接着是类名,即Student接着是(object),表 ...
- Simotion 凸轮同步,偏移凸轮起点
将同步对象的 SyncingMotion.camReferenceBySlaveModeRelative 修改为 POSITION_AT_START_OF_CAMMING myRetDINT := _ ...
- ZT JAVA WeakReference
JAVA WeakReference 分类: JAVA 2012-08-28 16:08 305人阅读 评论(0) 收藏 举报 javareferencehashmapcacheclassnull 在 ...
- 三、基于任务的异步模式(TAP),推荐使用
一.引言 在上两个专题中我为大家介绍.NET 1.0中的APM和.NET 2.0中的EAP,在使用前面两种模式进行异步编程的时候,大家多多少少肯定会感觉到实现起来比较麻烦, 首先我个人觉得,当使用AP ...
- LDA相关论文汇总
转:http://blog.csdn.net/pirage/article/details/9467547 LDA理论 David M. Blei, Andrew Y. Ng, and Michael ...

