一、表单

<body>
<section id="register">
<div><img src="data:images/logo.jpg" alt="logo" /><img src="data:images/banner.jpg" alt="banner" /></div>
<h1 class="hr_1">新用户注册</h1>
<form action="register_success.htm" method="post" name="myform" id="myform2">
<dl>
<dt>用户名:</dt>
<dd><input id="user" type="text" placeholder="以英文字母开头,4~16个字母或数字" required pattern="[a-zA-Z][a-zA-Z0-9]{3,15}"/></dd>
</dl>
<dl>
<dt>密码:</dt>
<dd><input id="pwd" type="password" placeholder="4~10个字母或数字" required pattern="[a-zA-Z0-9]{4,10}"/></dd>
</dl>
<dl>
<dt>确认密码:</dt>
<dd><input id="repwd" type="password"placeholder="4~10个字母或数字" required pattern="[a-zA-Z0-9]{4,10}"/></dd>
</dl>
<dl>
<dt>电子邮箱:</dt>
<dd><input id="email" type="email"placeholder="含有@和." required pattern="([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+"/></dd>
</dl>
<dl>
<dt>手机号码:</dt>
<dd><input id="mobile" type="text" placeholder="1开头的11位数字" required pattern="[1][0-9]{10}"/></dd>
</dl>
<dl>
<dt>生日:</dt>
<dd><input id="birth" type="text"placeholder="格式为1984-9-7或1985-09-07" required pattern="(?:19\d{2}|200\d)-(?:1[0-2]|0?[0-9])-(?:3[01]|[12][0-9]|0?[0-9])"/></dd>
</dl>
<dl>
<dt>&nbsp;</dt>
<dd><input name="" type="image" src="data:images/register.jpg" class="btn" id="image" /></dd>
</dl>
</form>
</section>
</body>
二、js验证
**
* Created by Administrator on */
$(function () { $("#image").click(function () {
//验证用户名
var user = document.getElementById("user");
if(user.validity.valueMissing==true){
user.setCustomValidity("用户名不能为空!");
}else if(user.validity.patternMismatch==true){
user.setCustomValidity("用户名必须是字母开头的4~16位的字母和数字!");
}else{
user.setCustomValidity("");
} //验证密码
var pwd = document.getElementById("pwd");
if(pwd.validity.valueMissing==true){
pwd.setCustomValidity("密码不能为空!");
}else if(pwd.validity.patternMismatch==true){
pwd.setCustomValidity("4~10个字母或者数字");
}else{
pwd.setCustomValidity("");
} //验证密码2
var pwd = document.getElementById("pwd");
var pwd2 = document.getElementById("repwd");
if(pwd2.validity.valueMissing==true){
pwd2.setCustomValidity("密码不能为空!");
}else if(pwd.validity.patternMismatch==true){
pwd2.setCustomValidity("4~10个字母或者数字");
}else if(pwd.value!=pwd2.value){
pwd2.setCustomValidity("两次密码不一致!");
}else{
pwd2.setCustomValidity("");
} //验证邮箱
var email = document.getElementById("email");
if(email.validity.valueMissing==true){
email.setCustomValidity("密码不能为空!");
}else if(email.validity.patternMismatch==true){
email.setCustomValidity("必须包含@和.字符!");
}else{
email.setCustomValidity("");
} //验证手机
var mobile = document.getElementById("mobile");
if(mobile.validity.valueMissing==true){
mobile.setCustomValidity("密码不能为空!");
}else if(mobile.validity.patternMismatch==true){
mobile.setCustomValidity("必须是以1开头的11位数!");
}else{
mobile.setCustomValidity("");
} //验证生日
var birth = document.getElementById("birth");
if(birth.validity.valueMissing==true){
birth.setCustomValidity("密码不能为空!");
}else if(birth.validity.patternMismatch==true){
birth.setCustomValidity("必须以1985-09-08或1985-9-8的格式输入!");
}else{
birth.setCustomValidity("");
} }); });

表单验证—html5新特性表单验证的更多相关文章

  1. html5新特性contenteditable 属性更容易实现动态表单

    介绍html5新特性的一个属性:contenteditable 作用域全局.所有的块标签都可以,例如:span.p.div.td等标签.但是,不可以作用域<br/>类型的标签. conte ...

  2. html5新特性

    这一篇博文不会告诉你怎么去使用html5的新特性,只会给你总结一下新特性------对于好学的人可以把这篇文章当做一个目录 对于初接触的人来说是一个导向 对于已经接触过的人来说是一个检测你掌握程度的检 ...

  3. html5新特性与用法大全了解一下

    有好多小伙伴私聊我问我html5新特性 和用法,下面我给大家具体介绍一下html5都新加了哪些新特性,下面我给大家总结一下. 1)新的语义标签 footer header 等等2)增强型表单 表单2. ...

  4. HTML5新特性之CSS+HTML5实例

    1.新的DOCTYPE和字符集 HTML5的一项准则就是化繁为简,Web页面的DOCTYPE被极大的简化. <!DOCTYPE html> 同时字符集声明也被简化了: <meta c ...

  5. 第二季第八天 HTML5新特性

    在函数内部window.a =  a  在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...

  6. web全栈架构师[笔记] — 03 html5新特性

    HTML5新特性 一.geolocation PC端 精度比较低 通过IP库定位 移动端 通过GPS window.navigator.geolocation 单次 getCurrentPositio ...

  7. 前端进阶系列(三):HTML5新特性

    HTML5 是对 HTML 标准的第五次修订.其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入.HTML5 的语法是向后兼容的.现在国内普遍说的 H5 是包 ...

  8. 转: HTML5新特性之Mutation Observer

    转: HTML5新特性之Mutation Observer Mutation Observer是什么 Mutation Observer(变动观察器)是监视DOM变动的接口.当DOM对象树发生任何变动 ...

  9. HTML5新特性:FileReader 和 FormData

    连接在这里: HTML5新特性:FileReader 和 FormData

随机推荐

  1. Bitmap之安卓手机壁纸的设置

    MainActivity: package com.hyzhou.imagedemo; import java.io.File; import android.os.Bundle; import an ...

  2. mybatis之parameterType传递多个参数

    当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...

  3. Android底层有一定的认识,研究过相关的Android源码

    一.系统架构: 一).系统分层:(由下向上)[如图] 1.安卓系统分为四层,分别是Linux内核层.Libraries层.FrameWork层,以及Applications层: 其中Linux内核层包 ...

  4. ARM、MCU、DSP、FPGA、SOC各是什么?区别是什么?(转)

    ARM ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器.更早称作Acorn RISC Machine.ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等 ...

  5. N76E003学习之路(二)

    最近一直在想N76E003和STM8M003的对比情况,在网上找了不少资料,看了不少文档,具体总结如下: STM8S003F3P6:一共20个脚,最多支持16个GPIO,支持16个外部中断:2个16位 ...

  6. Putty的安装和使用

     Putty是最简单易用的SSH工具,详细介绍其安装和使用 直接在百度里搜索Putty,可以找到百度软件中心,或者官方网站: PuTTY Download Page.  进入官方网站,直接可执行文件装 ...

  7. 一次Win10安装体验

    我下载的是win10 Build 14279版本.http://www.iwin10.com/xiazai/1071.html 下载之后就直接拷到U盘安装了. 安装完之后发现(因为我是分区成了两个)我 ...

  8. Java的String详解

    Java的String详解 博客分类: Java javaStringString详解常用方法  Java的String类在开发时经常都会被使用到,由此可见String的重要性.经过这次认真仔细的学习 ...

  9. <转>KMP算法详解

    看了好久的KMP算法,都一直没有看明白,直到看到了这篇博客http://www.tuicool.com/articles/e2Qbyyf让我瞬间顿悟. 如果你看不懂 KMP 算法,那就看一看这篇文章 ...

  10. java基础---->Comparable和Comparator的使用

    Comparable和Comparator都可以实现排序,今天我们就开始两种比较排序接口的学习. Comparable的使用 一.Comparable的文档说明: Lists (and arrays) ...