JQuery 学习—JQuery Validation表单验证范例[通俗易懂]

JQuery Validation表单验证范例

大家好,又见面了,我是全栈君。

jQuery Validato表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。

1:测试的HTML代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
"http://www.w3.org/TR/html4/loose.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
 <head>  
 <meta http-equiv="Content-Type" content="text/html; charset=gbk" />  
 <title>jQuery验证</title>  
 <script src="lib/jquery/jquery-1.3.2.min.js" ></script>  
 <script type="text/javascript" src="lib/jquery/jquery.validate.js" mce_src="lib/jquery/jquery.validate.js"></script>  
 <script type="text/javascript" src="lib/jquery/messages_cn.js"></script>  
 <script type="text/javascript" src="lib/jquery/formValidatorClass.js"></script>  
 <style type="text/css">  
  
 * {  
 font-family: Verdana;  
 font-size: 96%;  
 }  
 label {  
 width: 10em;  
 float: left;  
 }  
 label.error {  
 float: none;  
 color: red;  
 padding-left: .5em;  
 vertical-align: top;  
 }  
 p {  
 clear: both;  
 }  
 .submit {  
 margin-left: 12em;  
 }  
 em {  
 font-weight: bold;  
 padding-right: 1em;  
 vertical-align: top;  
 }  
</style>  
</head>  
<body>  
<form class="submitForm" id="submitForm" method="get" action="">  
<fieldset>  
<legend>表单验证</legend>  
<p>  
<label for="username">用户名</label>  
<em>*</em><input id="userName" name="username" size="25" />  
</p>  
<p>  
<label for="email">E-Mail</label>  
<em>*</em><input id="email" name="email" size="25" />  
</p>  
<p>  
<label for="phone">联系电话</label>  
<em>*</em><input id="phone" name="phone" size="25" value="" />  
</p>  
<p>  
<label for="address">地址</label>  
<em>*</em><input id="address" name="address" size="22">  
</p>  
<input class="submit" type="submit" value="提交"/>  
</p>  
</fieldset>  
</form>  
</body>  
</html>  

2:Jquery 代码

/** 
 * @author aflyun 
 */  
$(document).ready(function(){  
  
/* 设置默认属性 */  
$.validator.setDefaults({  
submitHandler: function(form) {  
form.submit();  
}  
});  
  
// 字符验证   
jQuery.validator.addMethod("stringCheck", function(value, element) {  
return this.optional(element) || /^[u0391-uFFE5w]+$/.test(value);         
}, "只能包括中文字、英文字母、数字和下划线");  
  
// 中文字两个字节   
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {  
 var length = value.length;  
 for(var i = 0; i < value.length; i++){  
 if(value.charCodeAt(i) > 127){  
 length++;  
 }  
 }  
 return this.optional(element) || ( length >= param[0] && length <= param[1] );  
}, "请确保输入的值在3-15个字节之间(一个中文字算2个字节)");  
  
// 身份证号码验证   
jQuery.validator.addMethod("isIdCardNo", function(value, element) {  
 return this.optional(element) || isIdCardNo(value);  
}, "请正确输入您的身份证号码");  
  
// 手机号码验证   
jQuery.validator.addMethod("isMobile", function(value, element) {  
 var length = value.length;  
 var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;  
 return this.optional(element) || (length == 11 && mobile.test(value));  
}, "请正确填写您的手机号码");  
  
// 电话号码验证   
jQuery.validator.addMethod("isTel", function(value, element) {  
 var tel = /^d{3,4}-?d{7,9}$/; //电话号码格式010-12345678   
 return this.optional(element) || (tel.test(value));  
}, "请正确填写您的电话号码");  
  
// 联系电话(手机/电话皆可)验证   
jQuery.validator.addMethod("isPhone", function(value,element) {  
 var length = value.length;  
 var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+d{8})$/;  
 var tel = /^d{3,4}-?d{7,9}$/;  
 return this.optional(element) || (tel.test(value) || mobile.test(value));  
  
}, "请正确填写您的联系电话");  
  
// 邮政编码验证   
jQuery.validator.addMethod("isZipCode", function(value, element) {  
 var tel = /^[0-9]{6}$/;  
 return this.optional(element) || (tel.test(value));  
}, "请正确填写您的邮政编码");  
  
//开始验证   
$('#submitForm').validate({  
 /* 设置验证规则 */  
 rules: {  
 username: {  
 required:true,  
 stringCheck:true,  
 byteRangeLength:[3,15]  
 },  
 email:{  
 required:true,  
 email:true  
 },  
 phone:{  
 required:true,  
 isPhone:true  
 },  
 address:{  
 required:true,  
 stringCheck:true,  
 byteRangeLength:[3,100]  
 }  
 },  
  
 /* 设置错误信息 */  
 messages: {  
 username: {  
 required: "请填写用户名",  
 stringCheck: "用户名只能包括中文字、英文字母、数字和下划线",  
 byteRangeLength: "用户名必须在3-15个字符之间(一个中文字算2个字符)"  
 },  
 email:{  
 required: "请输入一个Email地址",  
 email: "请输入一个有效的Email地址"  
 },  
 phone:{  
 required: "请输入您的联系电话",  
 isPhone: "请输入一个有效的联系电话"  
 },  
 address:{  
 required: "请输入您的联系地址",  
 stringCheck: "请正确输入您的联系地址",  
 byteRangeLength: "请详实您的联系地址以便于我们联系您"  
 }  
 },  
  
 /* 设置验证触发事件 */  
 focusInvalid: false,  
 onkeyup: false,  
  
 /* 设置错误信息提示DOM */  
 errorPlacement: function(error, element) {  
 error.appendTo( element.parent());  
 },  
  
});  
  
});  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121264.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • isset,empty,is_null小知识

    isset,empty,is_null小知识

    2022年1月2日
  • 使用 WinSCP(下载) 上文件到 Linux图文教程

    使用 WinSCP(下载) 上文件到 Linux图文教程问题导读:1.如何远程链接?2.如何上传文件?3.如何对立面的文件进行操作?4.什么情况下会链接失败?https://yunpan.cn/cYWtNMycjeVPv 访问密码4f

    2022年8月4日
  • 东软始业教育内容提纲(2020)(后附题目)

    东软始业教育内容提纲(2020)(后附题目)东软始业教育内容提纲(后附题目)——2012年8月修正版写在前面:至各位兄弟姐妹,希望大家都能顺利通过!有些题目略微有些变动,总体内容不变。后面的题目绝大多数都在列了,剩余的注意搜索关键字,在前面提纲部分一定有!在百度上搜索一次只能搜索三页,建议大家先下载下来,准备好再开始考试,这样可以全篇搜索。40分的极致不是我的追求,38分这个绝对可以有!1)

    2022年5月10日
  • 如何安装GCC

    如何安装GCC现在的CentOs8上没有自带的gcc编译器因此需要下载(注意:这里的下载是指在虚拟机中下载,不是指在电脑上下载)若运行gcc时出现appstream下载元数据失败则表明没有安装gcc。1首先需要获得root权限****在终端模式下输入su,按下回车输入密码即可(注意这里的输入密码无显示)2检查虚拟机是否联网(当然要先确保电脑已联网)3检查网络是否正常输入pingwww….

    2022年5月9日
  • 20190505

    20190505

    2021年7月6日
  • Ubuntu20.04安装cuda10.1「建议收藏」

    Ubuntu20.04安装cuda10.1「建议收藏」安装前准备首先要查看你的NVIDIA显卡驱动是否支持cuda10.1版本。在终端执行以下命令:nvidia-smi如果**CUDAVersion:…**这里的版本号大于等于10.1(我这里的是10.2),就可以安装cuda10.1.关键点:gcc降级因为Ubuntu20.04自带的gcc版本为9.3,而cuda10.1不支持gcc-9,因此要手动安装gcc-7,命令如下:sudoapt-getinstallgcc-7g++-7安装完gcc-7,系统中就存在两个版本

    2022年9月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号