表单验证

<input name="text" type="text" required pattern="^\w.*$">

required属性,可以应用在大多数的元素上,如果元素内容为空,则不允许提交

pattern属性,将属性设置为某个格式的正则表达式

<input pattern='[0-9][A-Z]{3}' name=part placeholder="输入一个数字与三个大写字母">

min属性与max属性,规定数值类型或日期类型的input元素的专有属性,限制其范围

step属性,控制input元素中值增加或减少的步幅,如果用户输入的值在0到100之间,必须是5的倍数

显式验证

form元素与input元素都有一个checkValidity方法(返回布尔值),调用该方法可以显式地对表单内的所有元素内容进行有效性验证

var email=document.getElementById("email");

if(email.value==""){

    alert("请输入Email地址");

    retuen false;

  }

else if(!email.checkValidity()){

    alert("请输入正确的Email地址");

  }

  ...

另外还有一个validity属性,该属性返回一个ValidityState对象,对象拥有很多属性,其中valid属性表示元素内容是否有效

取消验证

如果需要临时取消表单验证,有两种方法:

利用form元素的novalidate属性(true为关闭验证),它可以关闭整个表单验证;

利用input元素或submit元素的formnovalidate属性,使单个表单验证失效

自定义错误信息

调用input元素的setCustomValidity方法

pass2.setCustomValidity("密码不一致!")

增强页面元素

figure元素与figcaption元素

figure元素用来表示网页上一块独立内容,figcaption元素是从属元素(标题),且只允许拥有一个

details元素,可以将画面的上局部区域展开或收缩,summary元素是从属元素

<details>

  <summary>xxxx<summary>

  <p>详细介绍</p>

</details>

mark元素,高亮,吸引用户注意力

<mark>HTML5</mark>

progress元素,value属性表示已经完成了多少工作量,max属性表示总共有多少工作量

<p><progress id="p" max=100 value=10></progress></p>

meter元素,表示规定范围内的数量值,拥有6个属性:

vaule实际值,默认为0,可以是小数;min最小值,默认0;max最大值,默认1,如果它小于min,泽将min视为最大值;max规定范围的下限值,必须小于等于high值,如果小于min值,则把min属性视为low属性值;high规定范围的上限,同样如果小于low,low视为high,如果大于max,则max视为high属性的值;optimum最佳值,在max和min之间,可以大于high属性值

<p><meter value="91" min="0" max="100" low="40" high="90" optimum="100">A+</meter></p>

也可以不使用属性<meter>80%</meter>

新增menu元素与command元素

这两个元素用于Web应用程序的菜单、工具条、弹出菜单,menu相当于菜单,command相当于菜单项

改良的ol元素,添加了start属性与reversed属性,ol元素列表默认从1开始,start属性可以规定编号

<ol start=5>

<li>1111</li>

<li>2222</li>

</ol>

reversed属性反向排序<li>元素<ol reversed>

改良的dl元素,在HTML中,di元素专门用来定义术语的列表,HTML5将该元素重新定义

<dl>

<dt>术语1</dt>

<dd>定义1</dd>

<dt>术语2</dt>

<dd>定义2</dd>

</dl>

cite元素表示作品的标题<cite></cite>

重新定义small元素,辅助信息版权信息等

文件API

HTML5提供了文件操作API,通过它访问本地文件系统

FileList对象与file对象:FileList对象表示用户选择的文件列表,在HTML4中只允许放置一个文件,HTML5中有multiple属性,允许一次放置多个文件,控件内的每个用户选择的文件都是一个file对象,FileList对象是file对象的列表,file对象有两个属性name属性(表示文件名,不包含路径)lastModifiedDate属性(表示文件最后修改的日期)

<input type="file" id="file" multiple size="80"/>

file=document.getElementById("file").files[1];

Blob对象表示二进制的原始数据,可以通过该方法访问到字节内部的原始数据块,有两个属性size属性(Blob对象的字节长度)type属性(MIME类型,如果是未知类型,则返回空字符串)

上面提到过的file对象也继承了Blob对象

files[0].size   files[0].type

FileReader接口用来把文件读入内存,并且读取文件中的数据

检查浏览器是否支持FileReader接口

if(typeof FileReader=='undefined'){

  alert("您得浏览器未实现FileReader接口");

}else{

  var reader=new FileReader();

  //正常使用浏览器

}

FileReader接口的方法(4个方法,3个用于读取文件,一个用于中断读取)

无论读取成功或者失败,方法并不会返回结果,结果存储在result属性中

readAsText:两个参数,第二公司文本的编码方式,默认UTF-8

readAsBinaryString:读取为二进制字符串,传到后端

readAsDataURL:将文件读取为Data URL字符串

FileReader接口的事件

HTML5与CSS3权威指南.pdf3的更多相关文章

  1. Html5与CSS3权威指南 百度云下载

    Html5与CSS3权威指南 百度云下载 链接:http://pan.baidu.com/s/1hq6Dlvm 密码:php3

  2. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  3. 【HTML5 4】《HTML5与CSS3权威指南》 step1 导读

    一.教程重点:以 HTML5和CSS3的新功能和新特性 为导向,辅之以 实战型实例页面 二.内容概况: 第1部分:详细讲解HTML5相关知识,包括 各主流浏览器对HTML5的支持情况. HTML5与H ...

  4. HTML5与CSS3权威指南.pdf6

    第11章 获取地理位置信息 HTML5为window.navigator对象新增了一个geolocation属性 取得当前地理位置 void getCurrentPosition(onSuccess, ...

  5. HTML5与CSS3权威指南笔记案例1

    第1章 <!DOCTYPE html> <meta charset = "UTF-8"> <title> Search </title&g ...

  6. HTML5与CSS3权威指南

    第一章:Web时代的变迁 HTML5放心使用的理由: 兼容性:HTML5在老板本的浏览器上也可以正常运行: 实用性:HTML5内部并没有封装什么很复杂的,不切实际的功能,而只是封装了简单实用的功能: ...

  7. 读《HTML5与CSS3权威指南(上册)》笔记

    第二章 1.内容类型:“text/html”.DOCTYPE声明:<!DOCTYPE html>.指定字符编码:<meta charset="utf-8"> ...

  8. HTML5与CSS3权威指南.pdf9

    第21章 Media Queries相关样式 该模块中允许添加媒体查询(media query)表达式,用以指定媒体类型,根据媒体类型来选择使用的样式(显示器.便携设备.电视机) 使用方法@media ...

  9. HTML5与CSS3权威指南.pdf8

    第17章 与背景和边框相关的样式 与背景相关的新增属性 background-clip指定背景的显示范围 background-origin指定绘制背景图像时的起点 background-size指定 ...

随机推荐

  1. NOSql之redis的学习

    /** * 这里是我的虚拟机相关的启动命令 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf /usr/local/r ...

  2. Kali linux网络配置

    Kali linux 安装完成后,需要对其网络进行配置.使用DHCP服务是配置网卡最简单的方法之一,但渗透测试时通常不会这样做,因为系统会被记录在DHCP服务器的数据库中. 1  动态DHCP方式 配 ...

  3. js获取任意元素到页面的距离

    function getPos(obj){ var pos={left:0,top:0} while(obj){ pos.left+=obj.offsetLeft; pos.top+=obj.offs ...

  4. jquery 去掉重复项(splice,apply,push)

    /* js数组去掉重复项 var somearray = [1,1,2,2,3,3,4,4,'1']; somearray.check(); //somearray will return arr=[ ...

  5. 文件操作 系统备份和还原,压缩,解压 tar dump/restore

    基本操作命令: ls -a 显示指定目录下的目录和文件,包括隐藏的文件和目录 ls -l 将文件和目录详细列出来,包括文件状态,权限,拥有者,文件名,文件大小等 改变工作目录命令 cd cd .. 进 ...

  6. tr设置border无效的解决方法

    给table的css添加属性:border-collapse: collapse; 边框不折叠的表格 行,列,行组是不具有border的

  7. 使用Fiddler提高前端工作效率 (介绍篇)

    1. Fiddler 是什么? Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.英语中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一样,可以让 ...

  8. yii2源码学习笔记(十九)

    view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...

  9. PHP分页初探 一个最简单的PHP分页代码实现

    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...

  10. PHP - 传入WebService服务端带中文字符的序列化字串不能反序列化的解决方法

    因工作需要,用了web服务,通过远程调用的方式来检索雅虎拍卖数据.前几天遇到一个问题,现在记录一下 客户端: $res = $this->client->call('Get_YahooDa ...