1.引入jquery validate和zui

<!-- jQuery (ZUI中的Javascript组件依赖于jQuery) -->
<script src="${_b}/style/jquery-1.11.0.min.js"></script>
<script src="${_b}/style/other/jquery.validate.js" type="text/javascript"></script>
<script src="${_b}/style/other/jquery.validate.sc.js" type="text/javascript"></script>
<!-- ZUI Javascript组件 -->
<script src="${_b}/style/zui-1.8.1/js/zui.min.js"></script>

2.表单

 <tr>
<td width="150" class="t-align_r">登录账号:</td>
<td><input id="userLoginName" name="userLoginName" type="text" class="table_input" style="width:600px;" data-toggle="tooltip" data-original-title=""><span></span></td>
<td width="400"><span class="redword">*</span><span class="greyword">由字母、数字组成,长度为6-20个字符</span></td>
</tr>
<tr>
<td class="t-align_r">登录密码:</td>
<td><input name="userPwd" id="pwd" type="password" class="table_input" style="width:600px;" data-toggle="tooltip" data-original-title=""></td>
<td><span class="redword">*</span><span class="greyword">由字母、数字组成,长度为6-16个字符</span></td>
</tr>
<tr>
<td class="t-align_r">确认密码:</td>
<td><input type="password" name="ruserPwd" id="rpwd" class="table_input" style="width:600px;" data-toggle="tooltip" data-original-title=""></td>
<td><span class="redword">*</span><span class="greyword">再次输入登录密码</span></td>
</tr>
注意:<input />标签中data-toggle="tooltip" data-original-title="" 是引入zui的样式
需要在script中初始化

3.javascript

<script>
$(function(){ //初始化
$('[data-toggle="tooltip"]').tooltip(); $('#saveBtn').click(function(){
if($("#form1").valid()){
$("#form1").submit();
}else{
var msg = new top.$.zui.Messager('提示消息:请检查字段合法性', {
type : 'warning',
fade : true,
icon : 'warning-sign',
time : 2000,
scale : true
});
msg.show();
}
}); //表单验证 begin
$("#form1").validate({
onsubmit: false, //关闭提交验证
errorElement: "em",
errorPlacement: function(error, element) {
element[0].setAttribute("data-original-title",error[0].innerText);
},
success: function(label) {
label.text("").addClass("success");
},
rules: {
userLoginName:{required:true,rangelength:[6,20],userLoginName:true},
userPwd:{required:true,rangelength:[6,16],pwd:true},
ruserPwd:{required:true,notEqualTo:"#pwd"},
sbdwmc:{required:true},
zslx:{required:true},
zsbh:{required:true},
dwlxdh:{phone:true},
userName:{required:true,rangelength:[2,30]},
sfzh:{required:true},
userEmail:{required:true,email:true},
userMobile:{required:true,isMobile:true,mobileCheck:true},
}, });
//表单验证 end //添加获取短信 验证码事件 begin
$("#Captcha").click(function(){
console.log(1);
if($("#form1").validate().element($("#userMobile"))){
console.log(2);
var c = 60;
$.post("getSmsCaptcha",{phone: $('#userMobile').val()},function(data){
console.log(data);
if(data.success){
$('#SMSCODE_').val(data.msg);
$('#Captcha').hide();
$('#Captcha').after("<font id=info color=green size=2>发送验证码成功!</font><span id=count>60</span><span id=cc>秒后重新发送</span>");
}
},'json');
var timer = setInterval(function(){
$("#count").html(c-1);
c--;
if(c==0){
$("#info").remove();
$("#count").remove();
$("#cc").remove();
$('#Captcha').show();
clearInterval(timer);
}
},1000);
}else{
var msg = new top.$.zui.Messager('提示消息:请输入正确的手机号', {
type : 'warning',
fade : true,
icon : 'warning-sign',
time : 2000,
scale : true
});
msg.show();
} });
//添加获取短信 验证码事件 end // userLoginName验证
jQuery.validator.addMethod("userLoginName", function(value, element) {
var chrnum = /[a-z|A-Z|0-9]{6,20}$/;
return this.optional(element) || (chrnum.test(value));
}, "格式不正确"
);
// pwd验证
jQuery.validator.addMethod("pwd", function(value, element) {
var chrnum = /[a-z|A-Z|0-9]{6,16}$/;
return this.optional(element) || (chrnum.test(value));
}, "格式不正确"
);
// 验证两次密码是否一致
jQuery.validator.addMethod("notEqualTo", function(value, element, param) {
return value == $(param).val();
}, "两次密码输入不一致!"
);
// 电话号码验证
jQuery.validator.addMethod("phone", function(value, element) {
var tel = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
return this.optional(element) || (tel.test(value));
}, "电话号码格式错误");
// 身份证号码验证
jQuery.validator.addMethod("isIdCardNo", function(value, element) {
return this.optional(element) || isIdCardNo(value);
}, "请正确输入身份证号码");
// 手机号的验证
jQuery.validator.addMethod("isMobile", function(value, element) {
var chrnum = /^1[3|4|5|7|8|9|][0-9]{9}$/;
return this.optional(element) || (chrnum.test(value));
}, "请输入正确的手机号码"
);
// 手机号是否注册的验证
jQuery.validator.addMethod("mobileCheck",function(value,element){
var flag = true;
var result = '';
$.ajax({
url : "userVMobile1",
data : {
userMobile : value
},
async :false,
dataType : 'json',
success : function(data){
console.log(data);
if(data.success){
flag = true;
}else{
flag = false;
result = data.msg;
}
}
});
$.validator.messages.mobileCheck = result;
return flag;
}); })
</script>

4.效果图

使用jquery validate结合zui作表单验证的更多相关文章

  1. jQuery Validate【强大的表单验证】

    一.引入菜鸟教程提供的 1.14.0 版本下载地址:http://static.runoob.com/download/jquery-validation-1.14.0.zip <script ...

  2. jquery.validate.js之自定义表单验证规则

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  4. jQuery应用实例5:表单验证

    1.validation插件的使用: 入门案例: <html> <head> <meta charset="UTF-8"> <title& ...

  5. jQuery常用插件与jQuery使用validation插件实现表单验证实例

    jQuery常用插件 1,jQuery特别容易扩展,开发者可以基于jQuery开发一些扩展动能 2,插件:http://plugins.jquery.com 3,超厉害的插件:validation . ...

  6. jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)

    1.表单验证插件——validate   该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:   $(form).validate({o ...

  7. 【表单验证】基于jQuery的高度灵活的表单验证(无UI)

    表单验证是前端开发过程中常见的一个需求,产品需求.业务逻辑的不同,表单验证的方式方法也有所区别.而最重要的是我们要清楚,表单验证的核心原则是--错误信息提示准确,并且尽可能少的打扰/干扰用户的输入和体 ...

  8. 用jquery写自己的form表单验证

    这几天看了锋利的jquery,感觉很不错.特别是jquery强大的选择器.今天就利用jquery写了一个自己的form表单验证的小案例.当巩固下jquery.首先贴下代码,当然只是一个小案例. 思路: ...

  9. JQuery制作网页——第九章 表单验证

    1.  表单验证:减轻服务器的压力.保证输入的数据符合要求: 2.  常用的表单验证:日期格式.表单元素是否为空.用户名和密码.E-mail地址.身份证号码等: 3.  表单验证的思路: 1.     ...

随机推荐

  1. 前端高质量知识(一)-JS内存空间详细图解

    变量对象与堆内存   var a = 20;   var b = 'abc';   var c = true;   var d = { m: 20 } 因为JavaScript具有自动垃圾回收机制,所 ...

  2. 【BZOJ1067】[SCOI2007] 降雨量(RMQ+分类讨论)

    点此看题面 大致题意:请你判断"\(x\)年是自\(y\)年以来降雨量最多的"这句话的真假. 离散化/\(lower\_bound\) 首先,考虑到年份的范围非常大,便可以离散化. ...

  3. 课程设计__继承与派生,重载<<

    ///继承与派生 #include <iostream> using namespace std; class Point { public: Point (,):x(a),y(b) {} ...

  4. caffe RandomBrightness和RandomContrast

    1. void RandomBrightness(const cv::Mat& in_img, cv::Mat* out_img, const float brightness_prob, c ...

  5. P2878 [USACO07JAN]保护花朵Protecting the Flowers

    一个类似国王游戏的贪心 话说要是先做了这个题,国王游戏之余懵逼这么久吗? #include<iostream> #include<cstdio> #include<alg ...

  6. 统计函数运行时间-CPU端

    C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下:  clock_t clock( void ); 这个函数返回从“开启这个程序 ...

  7. 旧文备份: 怎样实现SDO服务

    SDO是CANopen协议中最复杂的一部分,带有应答机制,有多种传输方式,并且完整的SDO功能节点需提供1个SDO server和多个SDO client,因此SDO的实现异常困难,协议多种传输方式的 ...

  8. Maven 引入war工程【work】

    场景: 之前为了便于查看生产者项目缓存情况,做了一套界面,用来查看刷新缓存.然而最近发现消费者项目上也需要这套缓存界面,因此打算将这套界面代码迁移成独立的web项目,然后由生产者和消费者通过POM文件 ...

  9. 洛谷P1968 美元汇率

    题目背景 此处省略maxint+1个数 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值. 输入输出格式 ...

  10. tcp客户端socket

    import socket # 和udp的区别显而易见,udp发送和接收的是一个元祖,因为udp是不建立连接的,只有得到了对方的端口和ip才能进行沟通. # 而tcp不是,tcp发送和接受的是一个字符 ...