JQuery中的表单验证及相关的内容
前 言
JRedu
Android应用开发中,经常要用到表单。既然用到了表单,那就不可避免的要用到表单的验证。但是,在提交表单时,但是,并不是,每次提交的表单内容都是正确的,如果 每次都将表单的内容,全部一起提交给后台, 会造成系统运行效率低下。因此,在提交表单前,会提前对表单内容进行验证。这样一来,能够大大提高运行效率。也因此,这种方法打受欢迎。那现在,本章就会进行详细的介绍。
1 表单验证及相关内容的基础知识 |
1.1 表单验证需要的相关知识
① 正则表达式
②web储存
③iframe框架(了解)
在进行表单验证时的主要过程:
① 先是,正则表达式对输入框的内容进行简单的验证,判断其是否符合要求;
②在符合正则表达式要求的前提下,将数据用web储存方式进行储存。
2 正则表达式
正则表达式:)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
即,对表单输入框的输入内容进行验证,判断其是否符合正则表达式的要求,以此来判断是否将数据传递。
1、正则表达式包括两部分 ① 定义正则表达式的规则 ② 正则表达式的模式(i/g/m); 2、声明正则表达式: ① 字面量声明: var reg = /表达式规则/表达式模式; eg: var reg = /white/g; ②使用new关键字: var reg =new RegExp ("表达式规则","表达式模式") eg: var reg = new RegExp("white","g") 3、正则表达式的常用模式: ① g:全局匹配:不加g默认为非全局匹配,即只匹配第一个符合要求的字符串。 "www".replace(/w/,"#"): ->#ww "www".replace(/w/g,"#"): ->### ② i:忽略大小写:不加i,默认要求匹配大小写 "aAa".replace(/A/,"#"): ->a#a "aAa".replace(/A/i,"#"): ->#Aa "aAa".replace(/A/gi,"#"): ->### ③ m:多行匹配模式:不带m,则一个字符串只有一个开头、结尾。带m后,如果字符串分为多行,则每行有一个开头结尾。 `abc `#bc abc`.replace(/^a/g,"#") -> abc` `abc `#bc abc`.replace(/^a/g,"#") -> #bc`
tips:如何写多行字符串:
①普通字符串:插入\n,表示换行。"abc\nabc"
②ES6中,允许使用反引号 `包裹字符串。反引号包裹的字符串中,会保留空格与回车。
2.4、正则表达式的常用方法
①.text():检测一个字符串是否符合正则表达式的验证:返回true/false。
eg: /white/.text("whitewhitewhite"); -> true;
② exec():检测一个字符串是否符合正则表达式的验证。如果验证成功,返回结果数组,验证失败,返回null。
结果数组中:
index属性:表示从字符串的第几个字符开始符合正则要求
input属性:返回完整的被检索的字符串
下标第0个:表示符合整个正则表达式的那部分字符串
下标第一个到第n个:表示符合正则的第一个到第n 个字表达式的部分,子表达式,就是正则中的()
也就是,正则中有几个()就有几个子表达式,结果数组中就有几个下标。
eg: /12(3)(4)5/.exec.("aaa12345");
->[
0:"12345",
1:"3",
2:"4",
index:3,
input:"aaa12345",
length:3
]
2.5、以下列出常用的字符的转义序列
字符 | 描述 |
---|---|
\cx | 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 |
\f | 匹配一个换页符。等价于 \x0c 和 \cL。 |
\n | 匹配一个换行符。等价于 \x0a 和 \cJ。 |
\r | 匹配一个回车符。等价于 \x0d 和 \cM。 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 |
\S | 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 |
\t | 匹配一个制表符。等价于 \x09 和 \cI。 |
\v | 匹配一个垂直制表符。等价于 \x0b 和 \cK。 |
特别字符 | 描述 |
---|---|
$ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。 |
( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 |
* | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 |
+ | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 |
. | 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。 |
[ | 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 |
\ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。 |
^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 |
{ | 标记限定符表达式的开始。要匹配 {,请使用 \{。 |
| | 指明两项之间的一个选择。要匹配 |,请使用 \|。 |
3web储存
HTML5新增web存储方式。
主要两种:
localStorage 和 sessionStorage ,两个对象在使用方式上没有任何区别,唯一的不同点是存储数据的有效时间
① localStorage:除非手动删除,否则数据将一直保存在本地文件
② sessionStorage:当浏览器关闭时, sessionStorage就被清空;
在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage:
if(typeof(Storage)!="undefined") { // 是的! 支持 localStorage sessionStorage 对象! // 一些代码..... } else { // 抱歉! 不支持 web 存储。 }
Storage的数据存储
1、Storage可以像普通对象一样,使用.追加或读取最新的数据。
eg:localStorag.name =" 张三";
2、常用的函数:
保存数据:localStorage.setItem("key","value");
读取数据:localStorage.getItem("key");
删除单个数据:localStorage.removeItem("key");
删除所有数据:localStorage.clear();
得到某个索引的key:localStorage.key(index);
一些需要注意的地方:
①在使用localStorage() 或 sessionStorage()储存数据时,要先判断其储存数据的键是否存在;
eg:localStorage.keys = localStorage.keys?localStorage.keys:"[]";
②在每次从localStorage() 或 sessionStorage()中取数据时,要先JSON.parse();方法将数据转为数组
③在使用完数据后 用要JSON.stringify()方法将数组转为字符串,否则的话,localStorage() 或 sessionStorage()中的数据不会更新,下次再使用时,里面的数据还是之前的数据。
4 iframe框架
<iframe id="ifram"src="http://www.baidu.com"></iframe>
在页面中,划分出一部分区域,用于显示,SRC属性链接的页面;
改变SRC属性,可跳转不同的页面。
JQuery中的表单验证及相关的内容的更多相关文章
- 基于jQuery的Validate表单验证
表单验证可以说在前端开发工作中是无处不在的~ 有数据,有登录,有表单, 都需要前端验证~~ 而我工作中用到最多的就是基于基于jQuery的Validate表单验证~ 就向下面这样~ 因为今天有个朋 ...
- jquery.validation.js 表单验证
jquery.validation.js 表单验证 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- 自己编写jQuery插件之表单验证
自己编写jQuery插件之表单验证 吐个嘈先:最近状态不咋滴,真是什么都不想干,不想上班,做什么都没动力,觉得没意思.不想这样,不想这样,快让这种情绪消失吧,忽忽.... 表单验证在项目中用的还是比较 ...
- AngularJS中的表单验证
AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...
- angular中的表单验证
angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时 ...
- 基于Jquery Validate 的表单验证
基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...
- 异步提交form的时候利用jQuery validate实现表单验证
异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则 // 电话号码验证 ...
- 基于Bootstrap+jQuery.validate Form表单验证实践
基于Bootstrap jQuery.validate Form表单验证实践 项目结构 : github 上源码地址:https://github.com/starzou/front-end- ...
随机推荐
- equals()与 == 比较,hashCode方法
1.Object类 Object类是java中一切类的父类,java中所有的类都直接或间接 继承自Object类 Object中定义的方法不多,原因在于,java的类多种多样 ...
- 报错:No identifier specified for entity: main.java.com.sy.entity.User的解决办法
自己也没怎么搭建过框架,更何况还是spring mvc的,最近在带两个实习生,正好教他们怎么搭建一个spring mvc的框架,然而我在映射表的时候,提示报错了. 实体基类: public class ...
- 对图像组成不了解?这样学习Matplotlib必走弯路!
在学习Matplotlib的过程中,大家一定会遇到这样那样的问题,比如说,背景图怎么设置?坐标轴怎么设置?坐标轴上的刻度值怎么设置?怎样在PyQt中添加Matplotlib绘图模块? 其实想要学好用好 ...
- Ubuntu 14.04.4 下 scp 远程拷贝提示:Permission denied, please try again. 的解决办法
我在 s0 主机上远程拷贝 /etc/hosts 文件到 s1 主机上,出现下面的错误提示: qiao@s0:~$ scp /etc/hosts root@s2:/etc/root@s2's pass ...
- Vue动态组件
前面的话 让多个组件使用同一个挂载点,并动态切换,这就是动态组件.本文将详细介绍Vue动态组件 概述 通过使用保留的 <component> 元素,动态地绑定到它的 is 特性,可以实现动 ...
- Mysql中较为复杂的分组统计去重复值
这是我的代码: 前提是做了一个view:att_sumbase 首先分开统计每天的中午.下午饭点人数,这时需要分别去除中午和下午重复打卡的人.用了记录集的交,嵌套select的知识. 注意不能直接使用 ...
- Hibernate——hibernate的配置测试
Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自 ...
- Centos 6.5 安装 python3.6.2、pip9.0.1、ipython6.1
说明:由于Cenots 6.5 默认是安装的 python 2.6.6 要想同一台主机使用多个python版本,不能影响原来的版本,因为系统很多还依赖于python,比如 yum python ...
- Markdown 简单指北
Markdown is intended to be as easy-to-read and easy-to-write as is feasible. Markdown 简介 Markdown是一种 ...
- 读书笔记--C陷阱与缺陷(一)
要参与C语言项目,于是作者只好重拾C语言(之前都是C++,还是C++方便). 看到大家都推荐看看 C陷阱与缺陷(C traps and pitfalls),于是好奇的开始了这本书的读书之旅. 决定将 ...