这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录。现在社会坚持以人为本的理念,在网站开发过程同样如此。User是我们面对较多的对象,也是较核心的对象。最开始的用户注册和登陆这块,也就尤为重要。

用户注册和登录其实往往比我们想象的难。就比如表单校验,里面涵盖的内容其实挺多,就前台而言,你需要了解:

1.正则表达式的基本了解

其实正则并不难,并且在学会后能带给你极大的成就感,享受那种事半功倍的效果吧。

2.ajax异步请求

在验证用户名是否存在、用户登录时账号或者密码错误时给出相应的提示。

3.一些方便的验证库,比如jQuery.validate

正因为如此普遍的需求和一定的复杂性,bootstrap表单和jQuery.validate表单校验等一些优秀的类库专为人们解决UI、表单校验问题。

下面就是我用bootstrap+jQuery.validate做的界面:

一、bootstrap3基本表单和水平表单

1、基本表单

基本的表单结构是 Bootstrap 自带的,下面列出了创建基本表单的步骤:

向父元素

添加 role="form"。

把标签和控件放在一个带有 class .form-group 的

中。这是获取最佳间距所必需的。

向所有的文本元素 、 和 添加 class .form-control。

名称

placeholder="请输入名称">

效果如下:

2、水平表单

在了解水平表单之间,我们应该对bootstrap的网格系统有所了解。

Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列,也就是说它是以百分比定义宽度的。

水平表单与其他表单不仅标记的数量上不同,而且表单的呈现形式也不同。如需创建一个水平布局的表单,请按下面的几个步骤进行:

步骤1:向父

元素添加 class .form-horizontal。

步骤2:把标签和控件放在一个带有 class .form-group 的

中。

步骤3:向标签添加 class .control-label。

名字

placeholder="请输入名字">

效果如下:

二、jQuery.validate 自定义校验方法

1、自定义校验方法

// 手机号码验证

jQuery.validator.addMethod("isPhone", function(value, element) {

var length = value.length;

return this.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(value));

}, "请正确填写您的手机号码。");

2、调用自定义校验

rules : {

phone : {

required : true,

isPhone : true

}

}

3、自定义错误显示

三、register.html

注册

#register-form{

border: 1px solid rgb(197, 197, 197);

width: 1000px;

margin: auto;

border-image: none;

padding: 30px;

border-radius: 3px;

}

用户注册

用户名:

密码:

确认密码:

E-Mail:

手机号码:

固定电话:

家庭住址:

注册

重置

四、form.js

$(document).ready(function() {

// 手机号码验证

jQuery.validator.addMethod("isPhone", function(value, element) {

var length = value.length;

return this.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(value));

}, "请正确填写您的手机号码。");

// 电话号码验证

jQuery.validator.addMethod("isTel", function(value, element) {

var tel = /^(\d{3,4}-)?\d{7,8}$/g; // 区号-3、4位 号码-7、8位

return this.optional(element) || (tel.test(value));

}, "请正确填写您的电话号码。");

// 匹配密码,以字母开头,长度在6-12之间,必须包含数字和特殊字符。

jQuery.validator.addMethod("isPwd", function(value, element) {

var str = value;

if (str.length < 6 || str.length > 18)

return false;

if (!/^[a-zA-Z]/.test(str))

return false;

if (!/[0-9]/.test(str))

return fasle;

return this.optional(element) || /[^A-Za-z0-9]/.test(str);

}, "以字母开头,长度在6-12之间,必须包含数字和特殊字符。");

$("#register-form").validate({

errorElement : 'span',

errorClass : 'help-block',

rules : {

firstname : "required",

email : {

required : true,

email : true

},

password : {

required : true,

isPwd : true

},

confirm_password : {

required : true,

isPwd : true,

equalTo : "#password"

},

phone : {

required : true,

isPhone : true

},

tel : {

isTel : true

},

address : {

minlength : 10

}

},

messages : {

firstname : "请输入姓名",

email : {

required : "请输入Email地址",

email : "请输入正确的email地址"

},

password : {

required : "请输入密码",

minlength : jQuery.format("密码不能小于{0}个字 符")

},

confirm_password : {

required : "请输入确认密码",

minlength : "确认密码不能小于5个字符",

equalTo : "两次输入密码不一致不一致"

},

phone : {

required : "请输入手机号码"

},

tel : {

required : "请输入座机号码"

},

address : {

required : "请输入家庭地址",

minlength : jQuery.format("家庭地址不能少于{0}个字符")

}

},

//自定义错误消息放到哪里

errorPlacement : function(error, element) {

element.next().remove();//删除显示图标

element.after('');

element.closest('.form-group').append(error);//显示错误消息提示

},

//给未通过验证的元素进行处理

highlight : function(element) {

$(element).closest('.form-group').addClass('has-error has-feedback');

},

//验证通过的处理

success : function(label) {

var el=label.closest('.form-group').find("input");

el.next().remove();//与errorPlacement相似

el.after('');

label.closest('.form-group').removeClass('has-error').addClass("has-feedback has-success");

label.remove();

},

});

});

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是Bootstrap+jQuery.validate实现表单验证相关知识介绍,希望大家可以熟练掌握,设计自己的表单验证。

bootstrap html5 表单验证,基于Bootstrap+jQuery.validate实现表单验证相关推荐

  1. jquery表单ajax json数据,jquery序列化form表单使用ajax提交后处理返回的json数据

    1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...

  2. 使用 jQuery Validate 进行表单验证

    jQuery Validate简介 jQuery Validate 插件提供了强大的表单验证功能,能够让客户端表单验证变得更简单,同时它还提供了大量的可定制化选项,以满足应用程序的各种需求.该插件捆绑 ...

  3. 抓取html表单验证码,如何在jquery中利用表单获取短信验证码

    如何在jquery中利用表单获取短信验证码 发布时间:2021-02-18 15:42:54 来源:亿速云 阅读:88 作者:Leah 这期内容当中小编将会给大家带来有关如何在jquery中利用表单获 ...

  4. jQuery验证控件jquery.validate.js使用说明+中文API

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

  5. [转]MVC+JQuery validate实现用户输入验证

    本文转自:http://www.cnblogs.com/ahui/archive/2010/10/08/1845677.html MVC服务器端: 1.在controller中验证用户输入,如果验证失 ...

  6. jquery validate.addMethod 正则表达式 (自定义验证方法)

    //验证邮政编码   jQuery.validator.addMethod( "checkPost",function(value,element){           var ...

  7. jquery validate 手机号码、电话号码验证

    1.手机号验证代码 a)添加方法自定义验证方法: jQuery.validator.addMethod("isPhone", function(value, element) {v ...

  8. jQuery Validate 提交表单验证失败扩展方法

    由于Validate没有提供表单提交过后,验证不通过触发方法.这里做一下扩展. 引用场景:每次提交表单元素验证不通过触发方法 打开源代码 找到focusInvalid 方法, 这里是提交表单时验证不通 ...

  9. JQuery.validate.js 表单验证

    官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassistance.d ...

最新文章

  1. piwik的安装与配置
  2. 如何写一个清晰明了的Bug
  3. 自动检测iOS网络并可跳转至设置界面设置网络
  4. 博客园自定义背景(一)
  5. SAP UI5 attachment control relative url binding
  6. 【渝粤教育】电大中专药事管理与法规 (2)作业 题库
  7. Android无线测试之—UiAutomator UiObject API介绍二
  8. VUE3模板ref引用子组件或者子组件的方法
  9. 小米回应 50 亿疫情贷款申请;​爱奇艺 App 崩溃;OpenSSH 8.2 发布 | 极客头条
  10. iDRAC RAC0218 最大回话数
  11. 计算机智能化音乐制作,音乐制作那些事儿
  12. python求最大素数_python-最大素数
  13. 计算机设备管理器更新驱动器,怎么利用设备管理器更新显卡驱动 - 驱动管家
  14. python多个if_Python之条件判断/if嵌套/如何写嵌套代码
  15. 81.【SpringMVC】
  16. 发票查验|身份证实名认证增强版API开发文档
  17. 华为手机忘记密码如何解开,有什么相关教程吗
  18. 模拟开关和数字开关的区别
  19. 计算机网络---网络层功能概述
  20. 菜鸟教程 http://www.runoob.com/

热门文章

  1. linux shell 脚本 supress,《linux Shell 脚本攻略》进阶学习(第一部分)
  2. 如何使用log4j记录日志
  3. java构建内存池队列_池化技术(线程池、连接池、内存池等)
  4. mysql把一个字段加到另一张表中_mysql如何能把一个表中的某一字段下的数据加入另一个表中相同字段下,条件是两表中的某字段相同?...
  5. xftp 无法连接linux 22端口,解决Xshell不从22端口连接服务器
  6. csdn个人主页下如何添加微信公众号及超链接
  7. Bash脚本教程之条件判断
  8. java中 下列不合法的语句_在Java中,下列( )是不合法的赋值语句。_学小易找答案...
  9. java遍历文件夹并获取所有路径
  10. mysql binlog空间维护