先看页面

前端表单代码  register.html

             <form class="mui-input-group" id="regForm">
<div class="mui-input-row">
<label>账号</label>
<input id='account' name="account" type="text" class="mui-input-clear mui-input" placeholder="请输入账号" required>
</div>
<div class="mui-input-row">
<label>密码</label>
<input id='password' name="password" type="password" class="mui-input-clear mui-input" placeholder="请输入密码" required>
</div>
<div class="mui-input-row">
<label>确认</label>
<input id='password_confirm' name="password_confirm" type="password" class="mui-input-clear mui-input" placeholder="请确认密码" required>
</div>
<div class="mui-input-row">
<label>邮箱</label>
<input id='email' name="email" type="email" class="mui-input-clear mui-input" placeholder="请输入邮箱" required>
</div> <div class="mui-content-padded">
<button id="reg" type="submit" class="mui-btn mui-btn-block mui-btn-primary">注册</button>
</div>
<div class="mui-content-padded">
<p>注册真实可用,注册成功后的用户可用于登录,但是示例程序并未和服务端交互,用户相关数据仅存储于本地。</p>
</div>
</form>

所引用的js文件

        <script type="text/javascript" src="/Public/vendor/jquery/jquery.min.js"></script>
<script src="/Public/vendor/layer/3.0/layer.js"></script>
<script type="text/javascript" src="/Public/vendor/jquery.validation/jquery.validate.min.js"></script>
<script type="text/javascript" src="/Public/vendor/jquery.validation/additional-methods.js"></script>
<script type="text/javascript" src="/Public/vendor/jquery.validation/localization/messages_zh.js"></script>
<script src="/Public/dist/js/common/jQuery.md5.js"></script>
<script type="text/javascript">
$(function(){
let validate = $("#regForm").validate({
onkeyup:false,
submitHandler:function(form){
$.ajax({
url: "__CONTROLLER__/register",
type: 'POST',
dataType: 'json',
data: {
username: $("#account").val(),
password: $.md5($("#password").val())
},
success: function (data) {
if (data.status === 'success') {
layer.msg('注册成功请稍后....', {
icon: 1,
time: 3000,//3秒后跳转
end: function () {
window.location.href = data.url;
}
});
} else {
layer.msg(data.msg, {icon: 2, time: 3000})
}
}
});
return false;
},
rules:{
account:{
rangelength:[6,20],
//异步验证用户名是否存在
remote:{
url:"__CONTROLLER__/checkUserExist",
type:"post",
dataType:"json",
cache:false,
data:{
account:function(){
return $("#account").val();
}
}
}
},
password:{
rangelength:[8,16],
checkPassStrength:true //检验密码强度
},
password_confirm:{equalTo:'#password'}
},
messages:{
account:{remote:'该用户名已存在!'},
password_confirm:{equalTo:'请与密码保持一致'}
},
//修改错误提示的样式
showErrors: function (errorMap, errorList) {
var msg = "";
$.each(errorList, function (i, v) {
layer.tips(v.message , v.element, {
tips: [1, '#CCA32D'],
time: 2000
});
return false;
});
},
}); });
</script>

在  additional-methods.js  这个文件里添加了密码强度的验证方法

//密码强度验证
$.validator.addMethod("checkPassStrength", function(value, element, param){
//方法中又有三个参数:value:被验证的值, element:当前验证的dom对象,param:参数(多个即是数组)
//alert(value + "," + $(element).val() + "," + param[0] + "," + param[1]);
return new RegExp(/(?=.*\d)(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/).test(value);
}, "密码至少包含字母、数字和特殊字符");

在后端验证用户名是否存在

/**
* 查询该用户名是否存在
*/
public function checkUserExist(){
if(IS_POST){
if(M('user')->where(array('username'=>I('account',0)))->find()){
// $this->ajaxReturn(array('status'=>'error','msg'=>'该账户名不存在!'));
exit("false") ;
}else{
exit("true") ;
}
}
}

jquery validate 一个注册表单的应用的更多相关文章

  1. jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

    jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏 ...

  2. 获取html 中的内容 将前台的数据获取到后台 用 jquery 生成一个 form表单 提交数据

    使用js创建一个form表单 ,使用post上传到后台中 下面是代码.在获取html内容的时候使用了js节点来获取内容. parent:父节点.上一级的节点 siblings:兄弟节点.同一级别的节点 ...

  3. jquery.validate 使用--验证表单隐藏域

    jQuery validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证. 是因为 ...

  4. validate验证注册表单

    点击预览; <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  5. jQuery Validate 插件为表单提供了强大的验证功能

    之前项目开发中,表单校验用的jQuery Validate 插件,这个插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的 ...

  6. jQuery validate验证隐藏表单(hidden)域

    validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证!网上一搜,也没查到是怎 ...

  7. 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证

    一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...

  8. jQuery Validate插件实现表单强大的验证功能

    转自:http://www.jb51.net/article/76595.htm jQuery Validate插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自 ...

  9. jquery.validate.js自定义表单验证

    $(document).ready(function() { //在下列位置输入页面加载的逻辑代码 $("#inputForm").validate({ rules: { seq: ...

随机推荐

  1. (数据科学学习手札55)利用ggthemr来美化ggplot2图像

    一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...

  2. 20155212 实验三 敏捷开发与XP实践

    20155212 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器&g ...

  3. 20155213 实验一《Java开发环境的熟悉》实验报告

    20155213 实验一<Java开发环境的熟悉>实验报告 一. 实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 输入cd Code进入Code文件夹里 ...

  4. 《Java程序设计》实验三(敏捷开发与XP实践)20155214 实验报告

    <JAVA程序设计> 实验三(敏捷开发与XP实践) 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>< ...

  5. 20155332 mybash的实现

    mybash 的实现 码云链接 https://gitee.com/bestiisjava2017/laura5332/blob/master/%E4%BF%A1%E6%81%AF%E5%AE%89% ...

  6. (ex)Lucas总结

    (ex)Lucas总结 普通Lucas 求 \[ C_n^m\;mod\;p \] 其中\(n,m,p\leq 10^5\)其中\(p\)为质数 公式不难背,那就直接背吧... \[ C_n^m\;m ...

  7. ELKStack入门篇(一)之ELK部署和使用

    一.ELKStack简介 1.ELK介绍 中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details ELK Stack包 ...

  8. (二)SpringBoot2.0基础篇- 静态资源的访问及Thymeleaf模板引擎的使用

    一.描述 在应用系统开发的过程中,不可避免的需要使用静态资源(浏览器看的懂,他可以有变量,例:HTML页面,css样式文件,文本,属性文件,图片等): 并且SpringBoot内置了Thymeleaf ...

  9. 【JUC源码解析】PriorityBlockingQueue

    简介 基于数据结构堆实现的线程安全的无界队列,这个堆的内存结构是数组,结合了数组和二叉树的特点. 堆 以下内容参考<编程珠玑>和<算法导论>有关堆的章节. 数据结构 堆是用来表 ...

  10. 【转】linux下,如何把整个文件夹上传到服务器(另一台linux)

    原文转自:https://zhidao.baidu.com/question/1046040541327493019.html 1.Linux下目录复制:本机->远程服务器 scp  -r /h ...